maven repositary里,分页组件经常使用的有两个java
com.github.pagehelper » pagehelper-spring-boot-starter git
com.github.pagehelper » pagehelpergithub
躺了不少坑,记录一个可以成功的方式:spring
===============================分割线========================sql
1.在pom.xml中引入依赖:选择pagehelper的4.2.x版本(若是选了5.1.2,我就不知道咋配置,网上没找到)app
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.2.1</version> </dependency>
2.配置类,这是4.x.x版本的写法,若是是5.1.2,就不能像下面这样写(不会生效)maven
package com.yggdrasill.framework; import com.github.pagehelper.PageHelper; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Properties; @Configuration public class PageMybatisConf { @Bean public PageHelper pageHelper() { System.out.println("MyBatisConfiguration.pageHelper()"); PageHelper pageHelper = new PageHelper(); Properties p = new Properties(); p.setProperty("offsetAsPageNum", "true"); p.setProperty("rowBoundsWithCount", "true"); p.setProperty("reasonable", "true"); p.setProperty("dialect","postgresql"); pageHelper.setProperties(p); return pageHelper; } }
3.调用代码spring-boot
public PageInfo<Slave> queryApiSlaveList(Pager<Slave> page) {
// PageHelper.startPage(page,pageSize);开启分页插件,放在查询语句上面 帮助生成分页语句
PageHelper.startPage(page.getPage(), page.getPageSize());//1,10
List<Slave> listSlave = slaveMapper.selectAll();
// 封装分页以后的数据 返回给客户端展现 PageInfo作了一些封装 做为一个类
PageInfo<Slave> pageInfoUser = new PageInfo<Slave>(listSlave);
return pageInfoUser;
}
效果如图post
完成!!!spa
===================================================================
ps:不用在application.properties配置那几个参数了,入若是是 pagehelper-spring-boot-starter ,则须要配置
pagehelper.helperDialect=postgresql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
pagehelper.page-size-zero=true
至于 pagehelper-spring-boot-starter 方式,可参考 http://www.javashuo.com/article/p-olqotmgp-ez.html