SpringBoot+Mybatis+PageHelper实现分页

SpringBoot+Mybatis+PageHelper实现分页

mybatis自己没有分页功能,我们可以通过PageHelper工具来实现分页,非常简单方便

第一步:添加依赖

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

第二步:配置pagehelper

方式一:在yml配置文件中配置

pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

方式二:使用@Bean注入配置

@Bean
public PageHelper getPageHelper() {
    PageHelper pageHelper = new PageHelper();
    Properties properties = new Properties();
    properties.setProperty("helperDialect", "mysql");
    properties.setProperty("reasonable", "true");
    properties.setProperty("supportMethodsArguments", "true");
    properties.setProperty("params", "count=countSql");
    pageHelper.setProperties(properties);
    return pageHelper;
}

配置项说明:

helperDialect:指定数据库
reasonable:默认是false。启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages(最大页数)会查询最后一页。禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据
supportMethodsArguments:是否支持接口参数来传递分页参数,默认false
params:为了支持startPage(Object params)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero
其余参数详情请看官方文档:https://pagehelper.github.io/docs/howtouse/

第三步:使用PageHelper的api分页

PageHelper.startPage(pageCount, pageSize);

在查询语句上一行添加以上语句,就可以实现分页了。并不需要在具体的sql语句中写limit语句,非常方便

pageCount:选择页数

pageSize:设定每页记录数

posted @ 2018-09-28 12:14  渡劫锦官城  阅读(355)  评论(0编辑  收藏  举报