mybatis的分页插件 PageHelper、超级简单实用

参考:https://www.cnblogs.com/shanheyongmu/p/5864047.html

第一步,添加maven依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>4.1.4</version>
</dependency>

第二步,在mybatis全局配置文件中配置插件

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 配置分页插件 -->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageHelper">
            <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->        
            <property name="dialect" value="mysql"/>
        </plugin>
    </plugins>

</configuration>

3. 在执行sql前添加插件,完成分页功能

在查询的sql语句执行之前,添加一行代码PageHelper.startPage(1, 10);第一个参数表示第几页,第二个参数表示每页显示的记录数。这样在执行sql后就会将记录按照语句中设置的那样进行分页。如果需要获取总记录数的话,需要PageInfo类的对象,这个对象可以获取总记录数,下面看下测试的代码。

在你分页的时候,前面只需要加上

PageHelper.startPage(2, 3);    //得到的结果就是分页的结果,表示第二页,每页三条数据,记住,加上这一条代码之后,插件会先拦截你的sql,然后变成一个分页的sql


//这个是你在mapper.xml文件写的普通的查询方法。我这里是模糊查询,你会得到一个list对象。
CustomerQueryModel cqm = new CustomerQueryModel();
cqm.setShowName("liuzho");
List<CustomerModel> list = customerDao.getByCondition(cqm);


//然后你把你得到的list对象放进PageInfo这个插件类,你就能得到分页信息
PageInfo<CustomerModel> startPage=new PageInfo<CustomerModel>(list);
System.out.println(startPage.getPageNum());    //表示从第二页查,和上面的设置相对应
System.out.println(startPage.getPageSize());   //表示一页多少个,也是和上面的设置相对应
System.out.println(startPage.getTotal());      //得到的总数
System.out.println(startPage.getPages());      //得到的总页数
List<CustomerModel> list = startPage.getList(); //得到分页数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发疯的man

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值