目录
这个pagehelper只是一个插件我们直接说如何使用。
分页插件使用步骤
添加依赖
<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
配置分页插件
在MyBatis的核心配置文件(mybatis-config.xml)中配置插件
分页插件的使用
开启分页功能
在查询功能之前使用PageHelper.startPage(int pageNum, int pageSize)
开启分页功能 。
pageNum:当前页的页码
pageSize:每页显示的条数
测试:
输出结果
如果想看详细信息可以这样
可以看到page的信息
Page{count=true, pageNum=1, pageSize=4, startRow=0, endRow=4, total=7, pages=2, reasonable=false, pageSizeZero=false}[User(id=6, username=张三1, password=123, age=23, sex=女, email=abc@123), User(id=7, username=张三, password=123, age=23, sex=女, email=abc@123), User(id=8, username=admin, password=123456, age=22, sex=男, email=123@123), User(id=10, username=zhangsan, password=123, age=45, sex=女, email=email@123.com)]
更多情况下,我们使用的时下面的方法使用PageInfo
在查询获取list集合之后,使用PageInfo<T> pageInfo = new PageInfo<>(List<T> list, intnavigatePages)
获取分页相关数据
list:分页之后的数据
navigatePages:导航分页的页码数
信息如下
PageInfo{pageNum=1, pageSize=4, size=4, startRow=1, endRow=4, total=7, pages=2, list=Page{count=true, pageNum=1, pageSize=4, startRow=0, endRow=4, total=7, pages=2, reasonable=false, pageSizeZero=false}[User(id=6, username=张三1, password=123, age=23, sex=女, email=abc@123), User(id=7, username=张三, password=123, age=23, sex=女, email=abc@123), User(id=8, username=admin, password=123456, age=22, sex=男, email=123@123), User(id=10, username=zhangsan, password=123, age=45, sex=女, email=email@123.com)], prePage=0, nextPage=2, isFirstPage=true, isLastPage=false, hasPreviousPage=false, hasNextPage=true, navigatePages=5, navigateFirstPage=1, navigateLastPage=2, navigatepageNums=[1, 2]}
常用数据:
-
pageNum:当前页的页码
-
pageSize:每页显示的条数
-
size:当前页显示的真实条数
-
total:总记录数
-
pages:总页数
-
prePage:上一页的页码
-
nextPage:下一页的页码
-
isFirstPage/isLastPage:是否为第一页/最后一页
-
hasPreviousPage/hasNextPage:是否存在上一页/下一页
-
navigatePages:导航分页的页码数
-
navigatepageNums:导航分页的页码,[1,2,3,4,5]