Mybatis分页插件Pagehelper的PageInfo字段属性使用及解释

 更新时间:2024年05月06日 11:26:12   作者:小目标青年  
这篇文章主要介绍了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

支持上述的配置的参数配置

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring+EHcache缓存实例详解

    Spring+EHcache缓存实例详解

    这篇文章主要为大家详细介绍了Spring+EHcache缓存实例,EhCache是一个纯Java的进程内缓存框架,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Spring中的注解@Value("#{}")与@Value("${}")的区别介绍

    Spring中的注解@Value("#{}")与@Value("${}")的区别

    这篇文章主要介绍了Spring中的注解@Value(“#{}“)与@Value(“${}“)的区别到底是什么,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Hadoop运行时遇到java.io.FileNotFoundException错误的解决方法

    Hadoop运行时遇到java.io.FileNotFoundException错误的解决方法

    今天给大家带来的是关于Java的相关知识,文章围绕着Hadoop运行时遇到java.io.FileNotFoundException错误展开,文中有非常详细的解决方法,需要的朋友可以参考下
    2021-06-06
  • SpringBoot操作Redis三种方案全解析

    SpringBoot操作Redis三种方案全解析

    这篇文章主要介绍了SpringBoot操作Redis三种方案全解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Java 中Comparable和Comparator区别比较

    Java 中Comparable和Comparator区别比较

    本文,先介绍Comparable 和Comparator两个接口,以及它们的差异;接着,通过示例,对它们的使用方法进行说明
    2013-09-09
  • 关于Java实体类Serializable序列化接口的作用和必要性解析

    关于Java实体类Serializable序列化接口的作用和必要性解析

    序列化是将对象状态转化为可保持或者传输的格式过程,与序列化相反的是反序列化,完成序列化和反序列化,可以存储或传输数据,一般情况下,在定义实体类时会使用Serializable,需要的朋友可以参考下
    2023-05-05
  • 详解MyBatis-Puls中saveBatch批量添加慢的问题

    详解MyBatis-Puls中saveBatch批量添加慢的问题

    本文主要介绍了详解MyBatis-Puls中saveBatch批量添加慢的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Spring Boot实现简单的增删改查

    Spring Boot实现简单的增删改查

    这篇文章主要介绍了Spring Boot如何实现简单的增删改查,帮助大家更好的理解和学习spring boot框架,感兴趣的朋友可以了解下
    2020-09-09
  • 详解mybatis三种分页方式

    详解mybatis三种分页方式

    本文主要介绍了详解mybatis三种分页方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 解决java.net.SocketTimeoutException: Read timed out的问题

    解决java.net.SocketTimeoutException: Read timed out的问题

    这篇文章主要介绍了解决java.net.SocketTimeoutException: Read timed out的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06

最新评论