MybatisPlus分页失效不起作用的解决

 更新时间:2024年03月11日 09:57:39   作者:数据猴赛雷  
在使用MybatisPlus的selectPage时发现分页不起作用,每次返回的都是全部的数据,本文就来介绍一下MybatisPlus分页失效不起作用的解决,感兴趣的可以了解一下

【问题描述】

在使用MybatisPlus的selectPage时发现分页不起作用,每次返回的都是全部的数据,同时getPages()和getTotal()返回的都是0。

【相关代码】

mybatisPlus的版本:

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

selectPage操作的示例代码:

IPage<UserBuyCarsDao> userBuyCarsDaoPage = userBuyCarsMapper.selectPage(new Page<>(currentPage, pageSize), new LambdaQueryWrapper<UserBuyCarsDao>()
                .eq(UserBuyCarsDao::getUserCode, userCode)
                .eq(UserBuyCarsDao::getIsDelete, 0));

其中UserBugCarsDao和userBugCarsMapper都定义完整,不会存在问题。

如果使用分页操作是需要添加拦截器的,config代码如下:

@Configuration
@MapperScan(basePackages = {"com.core.mapper"})
public class MybatisPlusConfig {
    /**
     * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }

    @Bean
    public PaginationInnerInterceptor paginationInnerInterceptor() {
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
        paginationInnerInterceptor.setOverflow(false);
        return paginationInnerInterceptor;
    }
}

【问题定位】

初步怀疑是拦截器没有生效,为了验证这一点,在mybatisPlusInterceptor()函数中打一个断点。执行测试程序,发现确实没有进入这个函数。

为什么MybatisPlusInterceptor这个bean注册不成功?是不是启动程序没有扫描到这个@Configuration标记。

查看springboot的启动类,发现确实没有扫描到这个包文件。

【问题修复】

在springboot启动类中增加扫描config文件的路径,示例如下:

然后再执行debug,发现可以进入mybatisPlusInterceptor的断点。

到此这篇关于MybatisPlus分页失效不起作用的解决的文章就介绍到这了,更多相关MybatisPlus分页失效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • elasticsearch节点的transport请求发送处理分析

    elasticsearch节点的transport请求发送处理分析

    这篇文章主要为大家介绍了elasticsearch节点的transport请求发送处理分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • Mybatis + js 实现下拉列表二级联动效果

    Mybatis + js 实现下拉列表二级联动效果

    这篇文章给大家介绍基于Mybatis + js 实现下拉列表二级联动效果,实现代码分为前端界面实现和后端处理方法,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-06-06
  • Java中BigDecimal,DateFormatter 和迭代器的"陷阱"

    Java中BigDecimal,DateFormatter 和迭代器的"陷阱"

    这篇文章主要介绍了Java中BigDecimal,DateFormatter 和迭代器的"陷阱",文章围绕主题展开详细的内容介绍,感兴趣的小伙伴可以参考一下
    2022-06-06
  • Java中Integer128的坑

    Java中Integer128的坑

    本文主要介绍了Java中Integer128的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • Java找出1000以内的所有完数

    Java找出1000以内的所有完数

    一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程找出1000以内的所有完数
    2017-02-02
  • YGC前后新生代是否变大分析详解

    YGC前后新生代是否变大分析详解

    要解释这个问题,我们先要弄清楚YGC的过程,parNew是新生代的gc算法,简单来说从gc roots开始扫描对象,当扫到一个只要是属于新生代的对象就将其挪到to space,但是老的对象还不会做释放,直到gc完成之后再看是否释放老的对象
    2022-01-01
  • idea中自动生成Java类图和时序图的图文教程

    idea中自动生成Java类图和时序图的图文教程

    本文主要介绍了idea中自动生成Java类图和时序图的图文教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Java基于Swing实现的打猎射击游戏代码

    Java基于Swing实现的打猎射击游戏代码

    这篇文章主要介绍了Java基于Swing实现的打猎射击游戏代码,包含完整的游戏事件处理与逻辑流程控制,具有不错的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • Jenkins自动化部署springboot代码实例

    Jenkins自动化部署springboot代码实例

    这篇文章主要介绍了Jenkins自动化部署springboot代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 浅谈PrintStream和PrintWriter的区别和联系

    浅谈PrintStream和PrintWriter的区别和联系

    这篇文章主要介绍了浅谈PrintStream和PrintWriter的区别和联系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03

最新评论