SpringBoot集成PageHelper

文章目录

  • 添加分页插件依赖文件
  • 配置application.properties
  • 使用
  • 报错及解决

参考:springboot集成mybatis的分页插件pageHelper

添加分页插件依赖文件

注意:以下三个缺一不可


<dependency>
    <groupId>com.github.pagehelpergroupId>
    <artifactId>pagehelperartifactId>
    <version>5.0.0version>
dependency>
<dependency>
    <groupId>com.github.pagehelpergroupId>
    <artifactId>pagehelper-spring-boot-autoconfigureartifactId>
    <version>1.2.3version>
dependency>
<dependency>
    <groupId>com.github.pagehelpergroupId>
    <artifactId>pagehelper-spring-boot-starterartifactId>
    <version>1.2.3version>
dependency>

配置application.properties

这一步,是可选的


#pagehelper分页插件配置
#pagehelper.helperDialect=mysql
#pagehelper.reasonable=true
#pagehelper.supportMethodsArguments=true
#pagehelper.params=count=countSql

使用

个人觉得原始的PageInfo即可满足需要。当然,可以按需封装。

package com.vue.admin.controller;

@RestController
@RequestMapping(value = "/sysUser")
public class SysUserController {

    @Autowired
    private SysUserServie sysUserServieImpl;
    @RequestMapping(value="/select")
    public PageInfo select(@RequestBody Map map)throws Exception{
        Integer currentPage = (Integer)map.get("currentPage");
        Integer pageSize =(Integer) map.get("pageSize");
        PageHelper.startPage(currentPage,pageSize);
        List<SysUser> list = sysUserServieImpl.selectByCondition(example);
        PageInfo<SysUser> appsPageInfo = new PageInfo<>(list);
        return appsPageInfo;//PageUtil.pageVO();

    }

}

报错及解决

java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.github.pagehelper.Page

原因:查询结果如果不是Page类型,强转成ArrayList当然会报错。这说明PageHelper没有生效。

解决:在我的项目中是因为少引入了pom.xml中的依赖,引入之后就解决了。网上也有说===没有打开EnableAutoConfiguration,所以需要手动@ImportAutoConfiguration(PageHelperAutoConfiguration.class),不然PageInterceptor 无法配置成功,也就无法正常进行sql拦截并进行对应分页处理。===这个估计用的是配置吧

你可能感兴趣的:(springboot)