20201210邹瑞

总结

PageHelper介绍

PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如 mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。

本项目在github 的项目地址:https://github.com/pagehelper/Mybatis-PageHelper

PageHelper使用

集成

引入分页插件有下面2种方式,推荐使用 Maven 方式。

com.github.pagehelper
pagehelper
5.1.10

配置

特别注意,新版拦截器是 com.github.pagehelper.PageInterceptor 。 com.github.pagehelper.PageHelper 现在是一个特殊的 dialect 实现类,是分页插件的默认实现 类,提供了和以前相同的用法。

在 MyBatis 配置 xml 中配置拦截器插件

在 Spring 配置文件中配置拦截器插件

使用 spring 的属性配置方式,可以使用 plugins 属性像下面这样配置:


value="com.itlaobing.eshop.model">



helperDialect=mysql

reasonable=true

PageHelper.startPage 静态方法调用

这种方式是我们要掌握的在你需要进行分页的 MyBatis 查询方法前调用 PageHelper.startPage 静态 方法即可,紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。除了 PageHelper.startPage 方法外,还提供了类似用法的 PageHelper.offsetPage 方法。

//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
//紧跟着的第一个select方法会被分页
List list = userMapper.selectIf(1);
assertEquals(2, list.get(0).getId());
assertEquals(10, list.size());
//分页时,实际返回的结果list类型是Page,如果想取出分页信息,需要强制转换为Page
assertEquals(182, ((Page) list).getTotal());

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1