mybatis-plus分页插件新版本失效问题

背景

搭建新环境时,升级了下mybatis-plus的版本到 3.5.2,结果发现原本的分页插件 PaginationInterceptor 已被剔除,从官网得知需使用 PaginationInnerInterceptor,在此记录一下。

代码

/**
 * mybatis-plus 全局配置
 *
 * @author wrx
 * @date 2022/7/19 10:52
 */
@Configuration
@MapperScan("com.tz4cloud.mapper")
public class MybatisPlusConfig {
    /**
     * 插件配置:1.阻止恶意或误操作的全表更新删除 2.分页插件
     *
     * @return MybatisPlusInterceptor
     * @author wrx
     * @date 2022/7/19 10:53
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        //阻止恶意或误操作的全表更新删除
        interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
        //分页插件
        PaginationInnerInterceptor pageInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
        pageInterceptor.setMaxLimit(500L);
        // 开启 count 的 join 优化,只针对部分 left join
        pageInterceptor.setOptimizeJoin(true);
        interceptor.addInnerInterceptor(pageInterceptor);
        return interceptor;
    }
}

有个奇怪的地方,新版本如果单独将 PaginationInnerInterceptor 作为@Bean配置,并不会起效果。


版权声明:本文为evelynnJava原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。