6 springboot集成PageHelper

正好做到分页,原来的分页都是用mysql的limit自己去分页,现在发现PageHelper这个工具确实方便,就加到项目里面来了。

首先我加入的是

    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.1.2</version>
    </dependency>

然后写个Bean,并让spring扫描

   import com.github.pagehelper.PageHelper;
   import org.springframework.context.annotation.Bean;
   import org.springframework.stereotype.Component;
   import java.util.Properties;
   @Component
   public class PageHelperConfig {
   
       @Bean
       public PageHelper pageHelper(){
           PageHelper pageHelper = new PageHelper();
           Properties properties = new Properties();
           properties.setProperty("offsetAsPageNum","true");
           properties.setProperty("rowBoundsWithCount","true");
           properties.setProperty("reasonable","true");
           //配置mysql数据库的方言
           properties.setProperty("dialect","mysql");
           pageHelper.setProperties(properties);
           return pageHelper;
       }
   }

之后就可以在service中用了

public PageInfo<UploadClient> findUploadAllFile(Integer clientUserId, int pageNum) {

    //pageNum页码,Const.PAGE_SIZE,每页多少条记录
    PageHelper.startPage(pageNum, Const.PAGE_SIZE);
    List<UploadClient> list = welcommeDao.findUploadAllFile(clientUserId);

    PageInfo<UploadClient> pageInfo = new PageInfo<UploadClient>(list);
    //获取总记录数
    long total = pageInfo.getTotal();
    System.out.println("共有上传信息信息:" + total);
    return pageInfo;
}

看上图中list读出来的size是10个,就是我们设定的每页显示数据。
total是14个,是数据库里面的数量。
注意:

    PageHelper.startPage(pageNum, Const.PAGE_SIZE);
    List<UploadClient> list = welcommeDao.findUploadAllFile(clientUserId);

PageHelper.startPage(pageNum, Const.PAGE_SIZE);放在查询语句上面一行,不然不一定会是正确的结果。
还有注意的是maven中引用

    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
        <version>5.0.1</version>
    </dependency>

我这边测试PageHelper.startPage(pageNum, Const.PAGE_SIZE);没生效。
到此为止,PageHelper配置也方便,使用也方便

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,324评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,901评论 18 399
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 10,148评论 1 114
  • 一. Java基础部分.................................................
    wy_sure阅读 9,235评论 0 11
  • IOS中的SQLite3的封装与详细应用 SQLite是一个开源的嵌入式关系数据库,特点是易使用、高效、安全可靠、...
    iOS开发攻城狮阅读 5,819评论 0 0