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

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

总结

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

相关文章

  • java如何通过FileOutputStream字节流向文件中写数据

    java如何通过FileOutputStream字节流向文件中写数据

    这篇文章主要介绍了java如何通过FileOutputStream字节流向文件中写数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Fluent MyBatis实现动态SQL

    Fluent MyBatis实现动态SQL

    MyBatis 令人喜欢的一大特性就是动态 SQL。本文主要介绍了Fluent MyBatis实现动态SQL,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • SpringBoot yaml中的数组类型取值方式

    SpringBoot yaml中的数组类型取值方式

    这篇文章主要介绍了SpringBoot yaml中的数组类型取值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • spring实现动态切换、添加数据源及源码分析

    spring实现动态切换、添加数据源及源码分析

    这篇文章主要给大家介绍了关于spring实现动态切换、添加数据源及源码分析的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • JAVA实现网络/本地图片转BASE64存储代码示例

    JAVA实现网络/本地图片转BASE64存储代码示例

    这篇文章主要给大家介绍了关于JAVA实现网络/本地图片转BASE64存储的相关资料,Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法,需要的朋友可以参考下
    2023-07-07
  • Java实现动态验证码生成

    Java实现动态验证码生成

    这篇文章主要为大家详细介绍了Java实现动态验证码生成,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • springMVC如何对输入数据校验实现代码

    springMVC如何对输入数据校验实现代码

    数据的校验是交互式网站一个不可或缺的功能,数据验证分为客户端验证和服务器端验证,这篇文章主要介绍了springMVC如何对输入数据校验,需要的朋友可以参考下
    2020-10-10
  • Springboot+Bootstrap实现增删改查实战

    Springboot+Bootstrap实现增删改查实战

    这篇文章主要介绍了Springboot+Bootstrap实现增删改查实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Java中通过Class类获取Class对象的方法详解

    Java中通过Class类获取Class对象的方法详解

    这篇文章主要给大家介绍了关于Java中通过Class类获取Class对象的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • Java数组的定义、初始化、及二维数组用法分析

    Java数组的定义、初始化、及二维数组用法分析

    这篇文章主要介绍了Java数组的定义、初始化、及二维数组用法,结合具体实例形式分析了java数组概念、功能、数组定义、静态数组、动态数组、二维数组等相关使用技巧,需要的朋友可以参考下
    2019-01-01

最新评论