分页插件:PageHelper

1、简介

专门实现分页效果的 Mybatis 插件。GitHub 网址:

1
https://github.com/pagehelper

码云网址:

1
https://gitee.com/free/Mybatis_PageHelper

2、搭建环境

① 导入 jar 包

  • jsqlparser-0.9.5.jar
  • pagehelper-5.0.0.jar

② 配置 PageHelper 插件

在 Mybatis 全局配置文件中配置:

1
2
3
4
5
6
7
<plugins>
<!-- 指定执行分页功能的PageHellper插件 -->
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 设置PageHelper对页码进行自动修正。正确的页码范围:1~总页数 -->
<property name="reasonable" value="true"/>
</plugin>
</plugins>

③Java 代码

1
2
3
4
5
6
7
8
int pageNum = 1000;
int pageSize = 5;

// 调用静态方法,设定pageNum和pageSize,这样PageHelper插件就可以执行分页了
PageHelper.startPage(pageNum, pageSize);

// 这里返回的List类型本质上是:com.github.pagehelper.Page类
List<Employee> employees = employeeMapper.selectAll();

④PageInfo

1
2
3
4
5
6
// 为了页面上更容易的解析Page类封装的数据,建议把Page类进一步封装为PageInfo
PageInfo<Employee> pageInfo = new PageInfo<>(employees);
long total = pageInfo.getTotal();
int pages = pageInfo.getPages();
System.out.println("total = " + total);
System.out.println("pages = " + pages);