您的位置:首页 > 其它

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

2017-12-02 11:58 447 查看
参考: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后就会将记录按照语句中设置的那样进行分页。如果需要获取总记录数的话,需要Pa
4000
geInfo类的对象,这个对象可以获取总记录数,下面看下测试的代码。

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

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(); //得到分页数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: