SpringBoot集成PageHelper

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

添加分页插件依赖文件

注意:以下三个缺一不可

<!-- 分页插件pagehelper -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.0.0</version>
</dependency>
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
    <version>1.2.3</version>
</dependency>
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>
<!-- 分页插件pagehelper -->

配置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拦截并进行对应分页处理。===这个估计用的是配置吧

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值