插件是mybatis提供的一种重要的功能,是mybatis实现扩展的重要途径,通过插件我们可以实现很多我们想要的功能。我们比较常用的插件有逆向工程插件(前面博客已经讲过)和分页插件,后面学习的mybatis-plus也是建立在插件之上完成的一个框架。如果我们对某一个功能不满意,我们也可以自己开发一个插件,完成我们的个性化需求,但是使用插件的时候需要注意,如果不是很了解mybatis的插件原理,最好不要贸然的去使用插件。
关于mybatis插件的原理,在源码解析部分会提到,这里仅仅介绍mybatis分页插件的使用。
一、创建maven项目,导入mybatis相关的包及分页插件包
com.github.pagehelper
pagehelper
4.1.4
二、在mybatis核心配置文件中配置插件
/p>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
3.在java工程中使用分页插件
public class Test {
private static SqlSessionFactory sqlSessionFactory;
@BeforeClass
public static void init() {
try {
Reader reader=Resources.getResourceAsReader("Mybatis-Config.xml");
sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testSelectAll() {
SqlSession session=sqlSessionFactory.openSession();
try {
//分页处理,显示第一页的5条数据
PageHelper.startPage(1, 5);
List countryList=session.selectList("selectAll");
countryList.forEach(System.out::println);
// 取分页信息
PageInfo pageInfo = new PageInfo(countryList);
long total = pageInfo.getTotal(); //获取总记录数
} catch (Exception e) {
e.printStackTrace();
}finally {
//关闭session
session.close();
}
}
}