MyBatis使用PageHelper分页
配置
添加maven依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
在mybatis配置文件中添加配置
在标签environments
前面加入
<!-- PageHelper-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor" />
</plugins>
使用示例
mybatis-mapper配置文件中的sql语句
<select id="selectAll" resultType="BookOrder">
select * from t_book
</select>
使用:
调用 PageHelper.startPage(?, ?);
可对紧跟其后的第一个MyBatis查询方法进行自动的分页操作
PageInfo
对分页的详情信息进行封装
官方的示例代码
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
List<User> list = userMapper.selectAll();
//用PageInfo对结果进行包装
PageInfo page = new PageInfo(list);
//测试PageInfo全部属性
//PageInfo包含了非常全面的分页属性
assertEquals(1, page.getPageNum());
assertEquals(10, page.getPageSize());
assertEquals(1, page.getStartRow());
assertEquals(10, page.getEndRow());
assertEquals(183, page.getTotal());
assertEquals(19, page.getPages());
assertEquals(1, page.getFirstPage());
assertEquals(8, page.getLastPage());
assertEquals(true, page.isFirstPage());
assertEquals(false, page.isLastPage());
assertEquals(false, page.isHasPreviousPage());
assertEquals(true, page.isHasNextPage());
其他配置
plugin 标签中
分页参数合理化,默认位false
不管请求访问多少页,总会在 最大页和最小页 之间
<property name="reasonable" value="true"/>