目录

今日说码

点滴记录中国代码进程

X

SpringBoot 下的 PageHelper 分页插件

前言

  本篇文章只讲解怎么使用,不涉及原理和源码。

正文

  1. 在pom.xml中引入PageHelper的jar包;

    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.5</version>
    </dependency>
    
  2. 在Springboot的配置文件中添加配置;

    pagehelper:
        helperDialect: mysql
        reasonable: true
        supportMethodsArguments: true
        params: count=countSql
    
  3. 在service层需要分页的集合前,添加开启分页代码(page为第几页,size为每页几条);PageHelper.startPage(page, size);

  4. 将查询结果集合转为Page对象,有两种方式;

    // 方式一:通过PageInfo对象获取,将查询结果集合传入(findSearch为查询方法)
    List<UserVo> list = userMapper.findSearch();
    PageInfo<UserVo> pageInfo = new PageInfo<>(list);
    // getTotal获取总条数
    pageInfo.getTotal();
    // 获取当前页的结果集
    pageInfo.getList();
    
    // 方式二:直接将查询结果集合强转为Page对象(findSearch为查询方法)
    Page<UserVo> search = (Page<UserVo>) userMapper.findSearch();
    // getTotal获取总条数
    pages.getTotal();
    // 获取当前页的结果集
    pages.getResult();
    
  5. 将数据返回即可,一般分页查询只需要用到总条数和每页数据,如果需要其他数据可以通过PageInfo或Page对象获取。

注:PageHelper.startPage后只对紧跟其后的第一条查询语句生效,如果想要分页多条查询语句,则需要开启多次分页功能,即多次重复startPage代码。


标题:SpringBoot 下的 PageHelper 分页插件
作者:96XL
地址:https://solo.96xl.top/articles/2019/06/14/1560507068314.html