mybati plus分页出现两个limit

问题描述

`提示:

例如:使用mybatis plus 出现两个limit
在这里插入图片描述

原因分析:

1.PageHelper 的使用问题,

使用ThreadLocal 缓存page对象,当线程再次进入的时候未清理page导致,具体源码有空再仔细分析下。

解决:

	PageHelper.clearPage();

手动执行清楚,或者保证pagehlper下一句就是sql执行语句。

2. sql里面已经含有limit

这个属于较低级的错误,解决办法自己想把

3.实例化多个分页拦截器

我遇到的和上面的不一样,项目使用了mybatisplus,

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>

版本是
在这里插入图片描述
3.4.1
mybatisplus3.4之后不建议使用pageinterceptor了

//    @Bean
//    public PaginationInterceptor paginationInterceptor() {
//        //启动BaseMapper分页
//        return new PaginationInterceptor();
//    }

在引入的common包里面新加了新的引入分页插件的bean
mybatisPlusInterceptor
在这里插入图片描述
这时候就有两个分页拦截器了
PaginationInterceptor 和mybatisPlusInterceptor ,mybatis对于拦截器是循环执行的也就是两个都会执行,就会生成两个limit

解决

注释掉原来已经弃用的bean注入,

    @Bean
    public PaginationInterceptor paginationInterceptor() {
        //启动BaseMapper分页
        return new PaginationInterceptor();
    }

总结

总结了几种失效的情况,不对的可以指出,一起交流。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值