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

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

总结

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

相关文章

  • springboot Rabbit MQ topic 配置文件绑定队列和交换机的实现方法

    springboot Rabbit MQ topic 配置文件绑定队列和交换机的

    本文详细讲解了在SpringBoot中使用RabbitMQ进行队列与交换机的绑定方法,包括创建交换机、队列和绑定它们的步骤,以及如何发送和接收消息,适用于开发高并发系统,如秒杀系统等
    2024-09-09
  • java 常规轮询长轮询Long polling实现示例详解

    java 常规轮询长轮询Long polling实现示例详解

    这篇文章主要为大家介绍了java 常规轮询长轮询Long polling实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Java如何优雅替换if-else语句

    Java如何优雅替换if-else语句

    当逻辑分支非常多的时候,if-else套了一层又一层,那么如何干掉过多的if-else,本文就详细的介绍一下,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 解决IDEA显示非法字符 \ufeff 的问题

    解决IDEA显示非法字符 \ufeff 的问题

    这篇文章主要介绍了解决IDEA显示非法字符 \ufeff 的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 解决Java Calendar类set()方法的陷阱

    解决Java Calendar类set()方法的陷阱

    这篇文章主要介绍了解决Java Calendar类set()方法的陷阱,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Spring Cloud Zuul路由规则动态更新解析

    Spring Cloud Zuul路由规则动态更新解析

    这篇文章主要介绍了Spring Cloud Zuul路由规则动态更新解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 一文详解SpringBoot如何优雅地实现异步调用

    一文详解SpringBoot如何优雅地实现异步调用

    SpringBoot想必大家都用过,但是大家平时使用发布的接口大都是同步的,那么你知道如何优雅的实现异步呢?这篇文章就来和大家详细聊聊
    2023-03-03
  • mybatis深入讲解resultMap的定义及用法

    mybatis深入讲解resultMap的定义及用法

    MyBatis的每一个查询映射的返回类型都是ResultMap,当我们提供返回类型属性是resultType时,MyBatis会自动给我们把对应值赋给resultType所指定对象的属性,当我们提供返回类型是resultMap时,将数据库中列数据复制到对象的相应属性上,可以用于复制查询,两者不能同时用
    2022-04-04
  • 利用Java计算某个日期是星期几

    利用Java计算某个日期是星期几

    不知道大家有没有遇到过同样的问题,谁谁的生日又要到了,看看是星期几?每年都要遇到好几次,所以想索性利用Java写个小工具,一次查询某具体日期在n年中分别是星期几。这样不就方便了吗?本文里给出了详细的示例代码,感兴趣的朋友们下面来一起看看吧。
    2016-10-10
  • Java 生成图片验证码3种方法(字母、加减乘除、中文)

    Java 生成图片验证码3种方法(字母、加减乘除、中文)

    这篇文章主要介绍了Java 生成图片验证码3种方法(字母、加减乘除、中文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01

最新评论