SpringBoot之分页PageHelper
pagehelper是个很好用的后端分页插件,ssm里面很容易,无难度导入,但是springboot里面,导入不当就会导致报错或者分页无效果;
网上搜了很多,发现那些作者竟然直接搬用ssm里面的导入方式,然后改了个标题,着实把我坑的有点吐血,这里给出一个简单的导入方式;
主要就是artifactId=pagehelper-spring-boot-starter;
直接在项目pom里面导入如下:
**<!--分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>**
[
求求了 那些为了积分抄来抄去的兄弟别再抄下面这个了,就算你配置了@bean或者直接在启动类里面写,都是分页失败;
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.0</version>
</dependency>
]
然后新建一个springboot配置类即可,里面设置reasonable true
@Configuration
public class MybatisConfig {
@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");
pageHelper.setProperties(p);
return pageHelper;
}
}
也可以在aplication启动类底下直接@bean配置也可以,总之就是那些作者抄的导入pom版本导包不完整,但是后续新建bean都是一致的。
接着就可以使用插件了
PageHelper.startPage(pageNum,pageSize);
List<Feature> list = featureService.getFeatureListByStudentTermId(xxx);(feature是项目实体类)
PageInfo pageInfo = new PageInfo(list,pageSize);
这三步即可,其实第二条已经执行分页了,下面封装成pageinfo可以有更详细的数据信息返回,里面有诸如总数啊之类的数据可以直接使用
?pageNum=2&pageSize=5 postman访问之后,返回的pageInfo数据: