MyBatis可以使用第三方的插件来对功能进行扩展,分页助手PageHelper是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据。
1.2 使用PageHelper开发步骤① 导入通用PageHelper的坐标
② 在mybatis核心配置文件中配置PageHelper插件
③ 测试分页数据获取
接下来我们详细演示一遍。
① 导入通用PageHelper的坐标
com.github.pagehelper pagehelper3.7.5 com.github.jsqlparser jsqlparser0.9.1
② 在mybatis核心配置文件中配置PageHelper插件
这里需要注意
如果上面PageHelper坐标导的是5.XXX版本,需要在上述标红的地方将PageHelper改成PageInterceptor,第二行的property属性也可以注掉。
③ 测试分页数据获取
通过调用PageHelper的startPage接口就可以设置当前页和每页显示条数。
@Test
public void test03() throws IOException {
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//设置分页相关参数, 当前页+每页显示条数
PageHelper.startPage(1,5);
List userList = mapper.findAll();
sqlSession.close();
for (User user : userList) {
System.out.println(user);
}
}
看控制台输出
可以看出,程序查询出了表中的前五条数据。
这里需要注意一个点,分页使用的关键字是:limit
我们通过代码进行演示一下,在上述测试代码添加如下代码
PageInfopageInfo = new PageInfo (userList); System.out.println("当前页:"+pageInfo.getPageNum()); System.out.println("每页显示条数:"+pageInfo.getPageSize()); System.out.println("总条数:"+pageInfo.getTotal()); System.out.println("上一页:"+pageInfo.getPrePage()); System.out.println("下一页:"+pageInfo.getNextPage()); System.out.println("是否是第一个:"+pageInfo.isIsFirstPage()); System.out.println("是否是最后一个:"+pageInfo.isIsLastPage());
ok,接下来我们看一下控制台输出



