SpringBoot2.0使用pagehelper进行分页查询

SpringBoot2.0使用pagehelperjin进行分页查询


pagehelper是一款分页插件,可以很好地集成在SpringBoot框架中,简单配置,轻松使用
在使用pagehelper这个插件进行分页之前,我们需要先集成一款持久层框架,我这里继承了mybatis,如果有需要,可以看我之前的博客,了解一下如何集成mybatis持久层框架以及配置Druid数据源。
SpringBoot2.0集成Mybatis(简单配置druid及pagehelper)
当然,之前的这篇博客已经集成了pagehelper,但是本片博客分享的是如何去配置和使用以及更加详细的讲解,也作为我自己使用这个插件的一个记录分享出来。
首先在pom中添加依赖

<!-- 分页插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.5</version>
        </dependency>

我这里用的是最新版的,这个版本发布也好几个月了,应该还是比较稳定的,用法和之前的版本也不会很大
此外,我添加的依赖是专门用于Springboot的pagehelper工具合集(可能我的说法不准确),当然也可以添加其他的,如下:

<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.4</version>
</dependency>

这个就是普通的maven依赖了,目前最新的版本是5.1.4,当然用上面的那个是最好的啦,这个仅仅拉出来了解一下

接下来就开始写配置文件了

pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  params: 

是不是也很简单,下面详细讲一下各个参数的含义:

helper-dialect:指定数据库,不指定的话会默认自动检测数据库类型

reasonable:是否启用分页合理化。如果启用,当pagenum<1时,会自动查询第一页的数据,当pagenum>pages时,自动查询最后一页数据;不启用的,以上两种情况都会返回空数据
support-methods-arguments:默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。(copy来的,因为我也不知道怎么去解释)

params:用于从对象中根据属性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero

当然还有其他的参数,这里不一一讲了,常用的基本上就是这几个了。

接下来就是使用了,也是很简单,一行代码的事

    public List<User> getUsers(int pagenum) {
        PageHelper.startPage(pagenum,100);
        return userDao.getUsers();
    }

只需要在你查询数据的那一句代码前面,写上这个方法,传入pageNum(页数)和pageSize(行数)就可以了
当然还有其他使用方法,但是这个方法是最简单的啦。
点击访问GitHub源码
在我的GitHub源码就有一个搭建好的空的框架,欢迎大家clone,也希望更多的点评和指正,谢谢。
如果雷同,应该是我抄你了,sorry。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值