解决问题思路

测试分页插件的时候发现sql语句没有添加limit并返回的是所有数据

排查得知mybatis-plus版本为3.5.2

搜索资料得知旧版本的PaginationInterceptor已经过时, 官方推荐使用PaginationInnerInterceptor, 拦截器的接口需要实现org.apache.ibatis.plugin.Interceptor, 在MybatisSqlSessionFactoryBean注入的阶段会调用setPlugins方法

解决方案

添加配置文件

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

修改后测试结果

问题解决

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐