栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis 分页插件 PageHelper 使用教程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis 分页插件 PageHelper 使用教程

Mybatis 分页插件 PageHelper 使用教程
  • 1. 引入 maven 依赖
  • 2. 在 Mybatis 配置 xml 中配置拦截器插件
  • 3. 在 Spring 配置文件中配置拦截器插件
  • 4. 在代码中使用

1. 引入 maven 依赖

    com.github.pagehelper
    pagehelper
    4.1.4

这里我使用的是 4.1.4, 截止到 2021 年 11 月 16 日,PageHelper 最新版本为 5.3.0版本。值得注意的是,在版本经过更新之后,相应的配置语句也会做出略微的修改,因此我建议在初学阶段务必与我的版本保持一致,因为后面的教程都是基于该版本给出的,如不一致后面大概率会出错的,浪费时间去解决bug.

2. 在 Mybatis 配置 xml 中配置拦截器插件

在 mybatis.xml 配置文件中,引入拦截器插件。当然关于 mybatis 配置文件的名称应该根据个人习惯来,不是一定要命名成 mybatis.xml, 我只是给了一个在初学阶段用的比较多的名称。


    
    
        
        
    

中,有个属性 dialect, 英文翻译的意思就是 “方言” ,也就是说 PageHelper 插件根据具体的dialect值,提供相应的实现。这主要是因为每种数据库的语法规则不尽相同,从而 PageHelper 会针对支持的六种数据库做出相应的实现。

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

现在很多项目都是基于 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. Page page = checkItemDao.selectByCondition(queryString);

这行代码中的 selectByCondition 本质就是一个查询语句,你就可以认为是select * from checkitem, 就是这么简单。checkItemDao 去调用 selectByCondition 方法之后,它所得到的查询结果会自动地被分页,原因在上面已经提到过了,之后定义一个 Page 对象 page 去接收它即可。
最后,再调用 page.getResult() 方法取出查询出来的记录列表。数据的展现形式根据自己的情况来呈现,这里我给出我在项目中所查询出来的结果。

可以看到 total 值为 65,每 10 行记录作为一个分页进行展示。这就是使用 PageHelper 插件可以帮助我们进行快速、简便地进行分页的使用教程。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/530876.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号