- 1. 引入 maven 依赖
- 2. 在 Mybatis 配置 xml 中配置拦截器插件
- 3. 在 Spring 配置文件中配置拦截器插件
- 4. 在代码中使用
com.github.pagehelper pagehelper 4.1.4
这里我使用的是
在 mybatis.xml 配置文件中,引入拦截器插件。当然关于 mybatis 配置文件的名称应该根据个人习惯来,不是一定要命名成 mybatis.xml, 我只是给了一个在初学阶段用的比较多的名称。
在
现在很多项目都是基于 SSM 或者 SpringBoot, 不可能只用到 mybatis 一个框架,往往需要和 Spring、SpringMvc 整合起来用,需要将 mybatis.xml 配置整合到 spring-config.xml 中。
这里我只是将 mybatis.xml 中的相关配置引入了 spring-config.xml 文件中,其实还应该有数据源的配置以及包扫描一些配置,这个还是根据项目情况进行配置的,我只是给出如何使用拦截器插件的教程。
4. 在代码中使用相关的配置都弄好之后,终于可以在代码中调用 PageHelper 插件了。
// 检查项分页查询
@Override
public PageResult pageQuery(QueryPageBean queryPageBean) {
Integer currentPage = queryPageBean.getCurrentPage();
Integer pageSize = queryPageBean.getPageSize();
String queryString = queryPageBean.getQueryString();
// 完成分页查询,基于mybatis框架提供的分页助手插件完成
PageHelper.startPage(currentPage, pageSize);
Page page = checkItemDao.selectByCondition(queryString);
// 查询结果的记录总数
long total = page.getTotal();
List rows = page.getResult();
return new PageResult(total, rows);
}
这里我给出了我在项目中的一段代码,里面的内容具体不用去管它,你只需要关注两行代码:
1. PageHelper.startPage(currentPage, pageSize);
这是一种静态方法调用,在你需要进行分页的 MyBatis 查询方法前调用 PageHelper.startPage() 静态方法即可,紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。
其中,两个参数 currentPage 和 pageSize 分别表示当前页码和每个分页的大小(每页显示多少条记录)。
2. Pagepage = checkItemDao.selectByCondition(queryString);
这行代码中的 selectByCondition 本质就是一个查询语句,你就可以认为是select * from checkitem, 就是这么简单。checkItemDao 去调用 selectByCondition 方法之后,它所得到的查询结果会自动地被分页,原因在上面已经提到过了,之后定义一个 Page 对象 page 去接收它即可。
最后,再调用 page.getResult() 方法取出查询出来的记录列表。数据的展现形式根据自己的情况来呈现,这里我给出我在项目中所查询出来的结果。
可以看到 total 值为 65,每 10 行记录作为一个分页进行展示。这就是使用 PageHelper 插件可以帮助我们进行快速、简便地进行分页的使用教程。



