1.pom.xml
<!--mybatis分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
2.application.properties
# pagehelper分页插件配置
# 配置使用哪种数据库语言,不配置的话pageHelper也会自动检测
pagehelper.helperDialect=mysql
# 配置分页参数合理化功能,默认是false。
# 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>总页数会查询最后一页;
# 禁用合理化时,如果pageNum<1或pageNum>总页数会返回空数据。
pagehelper.reasonable=true
# 支持通过Mapper接口参数来传递分页参数,默认值false,
# 分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页
pagehelper.supportMethodsArguments=true
# 为了支持startPage(Object params)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值;
# 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,
# 不配置映射的用默认值,
# 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero。
pagehelper.params=count=countSql
3.UserService.java
public List<User> queryAll() {
// 当前页码和每页行数(必须挨着要分页的方法)
PageHelper.startPage(0,2);
List<User> users = userMapper.queryAll();
// 包括当前页码,总页数等等很全
PageInfo<User> info = new PageInfo<>(users);
System.out.println("总记录数"+info.getTotal()+"总页数"+info.getPages()+"尾页"+info.getNavigateLastPage());
List<User> list = info.getList();
return list;
}
分页相关字段说明
* “pageNum”:1, //当前页码
“pageSize”:50, //每页个数
“size”:1, //当前页个数
“startRow”:1, //由第几条开始
“endRow”:1, //到第几条结束
“total”:1, //总条数
“pages”:1, //总页数
“list”:[{“dateTime”:“2020-03-21”,“operationType”:1}],//查出出来的数据集合
“prePage”:0, //上一页
“nextPage”:0, //下一页
“isFirstPage”:true, //是否为首页
“isLastPage”:true, //是否为尾页
“hasPreviousPage”:false, //是否有上一页
“hasNextPage”:false, //是否有下一页
“navigatePages”:8, //页码数
“navigatepageNums”:[1], //每页显示的页码个数
“navigateFirstPage”:1, //首页
“navigateLastPage”:1, //尾页
“firstPage”:1,
“lastPage”:1*