Mybatis分页插件Pagehelper的PageInfo字段属性使用及解释
作者:小目标青年
这篇文章主要介绍了Mybatis分页插件Pagehelper的PageInfo字段属性使用及解释,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Mybatis分页插件Pagehelper的PageInfo字段属性
示例
使用了分页插件返回的结果数据:
{ "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 }
每个参数代表的意思
示例:
- pageNum=1,当前页码
- pageSize=1,每页个数
- size=1,当前页个数
- startRow=1,由第几条开始
- endRow=1,到第几条结束
- total=3,总条数
- pages=3,总页数
- list= XXXX 查出出来的数据集合
- prePage=0,上一页
- nextPage=2,下一页
- isFirstPage=true,是否为首页
- isLastPage=false,是否为尾页
- hasPreviousPage=false,是否有上一页
- hasNextPage=true,是否有下一页
- navigatePages=8,每页显示的页码个数
- navigateFirstPage=1,首页
- navigateLastPage=3,尾页
- navigatepageNums=[1, 2, 3]}页码数
mybatis分页插件PageInfo的几个参数说明
PageInfo{ list=Page{ count=true, // 执行 count(*) 函数的查询,查询记录条数 pageNum=1, //当前是第1页 pageSize=2, //每页显示2条 startRow=0, // 第1页,从0开始查询,表示第1条记录 endRow=2, // 从0开始查询,到2结束, total=9, //总记录条数为9 pages=5,//总共5页 reasonable=true, //分页参数是否合理(当reasonable:true时在pageNum<1会查询第一页,如果pageNum>pages会查询最后一页)
意思是当pageNum>分页最大页数时会返回最后一页的数据(一直返回最后一页)而不是返null。
最后将reasonable 改为 false,禁用合理化,如果pageNum<1或pageNum>pages会返回空数据
pageSizeZero=false//默认值为 false,当该参数设置为 true 时,如果 pageSize=0 或者 RowBounds.limit = 0 就会查询出全部的结果(相当于没有执行分页查询,但是返回结果仍然是 Page 类型)。 } prePage=0, //上一页 nextPage=2, //下一页 isFirstPage=true,//是否首页 isLastPage=false,//是否未页 hasPreviousPage=false, // 是否有上一页 hasNextPage=true, // 是否有上一页 navigatePages=8, // //导航页码数,剩余8页 navigateFirstPage=1, //导航页码数,第一个页码数是1 navigateLastPage=5, // 导航页码数,最后一个页码数是5 navigatepageNums=[1, 2, 3, 4, 5]} // 导航页码数
其中:分页配置application.properties
pagehelper.helper-dialect=mysql pagehelper.reasonable=true pagehelper.support-methods-arguments=true pagehelper.params=count=countSql
1)其中pagehelper.reasonable这个属性含义是分页参数合理化,3.3.0以上版本可用
当启用合理化时,如果pageNum>pageSize,默认会查询最后一页的数据。禁用合理化后,当pageNum>pageSize会返回空数据
2)pagehelper.support-methods-arguments
支持通过 Mapper 接口参数来传递分页参数,在开启分页时直接将实体类传入,pageHelper会自动根据 pagehelper.params中设定的参数来进行开启分页的参数映射
例如设置pagehelper.params=pageNum=start;pageSize=limit 则将对象传入startPage(Object o)中时,会自动配置pageNum为start,pageSize为limit
3)pagehelper.params=count=countSql
支持上述的配置的参数配置
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。