Mybatis 分页插件
1 分页插件介绍
分页查询是业务中常用的操作, mybatis为分页提供了强大的支持 pagehelper
导入jar包
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
添加插件
- 注意分页插件 pagehelper的位置
- 放在mybats的配置文件中
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
public PageInfo<User> findPageAll(int pageNum,int pageSize) {
/*
PageHelper.startPage:开始阻拦
pageNum : 第几页
pageSiez :每页最大数
*/
PageHelper.startPage(pageNum,pageSize);
List<User> userList = userMapper.findAll();
/*
userList:分页之后的数据
navigatePages:导航分页的页码数
*/
PageInfo<User> pageInfo = PageInfo.of(userList, 5);
return pageInfo ;
分页对象详情
- 分页相关数据
PageInfo{
pageNum=8, 当前页码
pageSize=4, 设置每页多少条数据
size=2, 当前页有多少条数据
startRow=29,
endRow=30,
total=30,
pages=8, 总共的页数
list=Page{count=true, pageNum=8, pageSize=4, startRow=28, endRow=32, total=30,
pages=8, reasonable=false, pageSizeZero=false},
prePage=7, nextPage=0, isFirstPage=false, isLastPage=true, hasPreviousPage=true,
hasNextPage=false, navigatePages=5, navigateFirstPage4, navigateLastPage8,
navigatepageNums=[4, 5, 6, 7, 8]
}
pageNum:当前页的页码
pageSize:每页显示的条数
size:当前页显示的真实条数
total:总记录数
pages:总页数
prePage:上一页的页码
nextPage:下一页的页码
isFirstPage/isLastPage:是否为第一页/最后一页
hasPreviousPage/hasNextPage:是否存在上一页/下一页
navigatePages:导航分页的页码数
navigatepageNums:导航分页的页码,[1,2,3,4,5]