6 springboot集成PageHelper

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

首先我加入的是

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

然后写个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 findUploadAllFile(Integer clientUserId, int pageNum) {

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

    PageInfo pageInfo = new PageInfo(list);
    //获取总记录数
    long total = pageInfo.getTotal();
    System.out.println("共有上传信息信息:" + total);
    return pageInfo;
}
6 springboot集成PageHelper_第1张图片

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

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

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

    
        com.github.pagehelper
        pagehelper
        5.0.1
    

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

你可能感兴趣的:(6 springboot集成PageHelper)