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

Mybatis分页插件——PageHelper快速入门

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

Mybatis分页插件——PageHelper快速入门

        在实际工作中,有很多进行列表查询的场景,我们往往都需要做两个步骤:1. 查询所需页数对应数据;2. 统计符合条件的数据总数;而这,又会导致我们必然至少要写2个sql进行操作。这无形中增加了我们的工作量,另外,当发生需要变动时,我们又需要同时改动这两个sql,否则必然导致结果的不一致。

        因此,我们需要一个简单易用的分页工具来帮我们完成这个工作了,需求明确,至于如何实现则各有千秋。而我们要说的 pageHelper则是这其中实现比较好的一件的组件了,我们就一起来看看如何使用它进行提升工作效率吧!

① pageHelper 的依赖引入

pom.xml 中引入pageHelper依赖:

(1)如果是 springboot,则可以直接引入 pagehelper-spring-boot-starter,它会帮我们省去许多不必要的配置。



    com.github.pagehelper
    pagehelper-spring-boot-starter
    1.2.12

(2)如果是普通的 springmvc 类的项目,则引入 pageHelper 即可。



    com.github.pagehelper
    pagehelper
    5.1.10

② pagehelper插件配置

(1)如果是 springboot,则直接配置几个配置项即可:

# mybatis 相关配置
mybatis:
  #... 其他配置信息
  configuration-properties:
       helperDialect: mysql
       offsetAsPageNum: true
       rowBoundsWithCount: true
       reasonable: true
  mapper-locations: mybatis/mapper/*.xml

(2)如果是普通 springmvc 项目配置:mybatis-config.xml





  
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
  

并在配置数据源的时候,将 mybatis 配置文件指向以上文件。

③ pagehelper 的使用 

        使用的时候,只需在查询list前,调用 startPage 设置分页信息,即可使用分页功能。 

public Object getUsers(int pageNum, int pageSize) {
    PageHelper.startPage(pageNum, pageSize);
    // 不带分页的查询
    List list = userMapper.selectAllWithPage(null);
    // 1. 可以将结果转换为 Page , 然后获取 count 和其他结果值
    com.github.pagehelper.Page listWithPage = (com.github.pagehelper.Page) list;
    System.out.println("listCnt:" + listWithPage.getTotal());
    // 2. 也可使用 PageInfo 来接收
    PageInfo pageinfo = new PageInfo(list);
    return list;
}

         即使用时,只需提前声明要分页的信息,得到的结果就是有分页信息的了。 如果不想进行 count,只要查分页数据,则调用: PageHelper.startPage(pageNum, pageSize, false);  即可,避免了不必要的 count 消耗。

此分页插件可以结合 BootStrap Table 组件使用,这样的话,在服务端返回给客户端数据时,需要包含 total 和 rows 这两个参数(且参数的 key 必须是 total 和 rows),具体实现在Js表格组件神器中有介绍。

注意:上面的配置只针对于pagehelper4.x版本的,如果你用的是pagehelper5.x版本就要进行以下这样配置

(1)如果是 mybatis 单独使用 PageHelper 分页插件的时候,就需要在 xml 配置中添加如下代码:



    
    
        
        
    

(2)如果是 ssm 项目,mybatis 是交由 spring 的 IOC 容器管理的,就需要在 spring 的 xml 配置中添加如下代码(创建工厂中添加):


  
  
    
      
        
          
          
            params=value1
          
        
      
    
  

注:本篇文章参考了Mybatis分页插件: pageHelper的使用及其原理解析  

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

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

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