SpringBoot之分页PageHelper 求求别误导了

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数据:
clipboard.png