MybatisPlusConfig配置

MybatisPlus分页查询是返回total不正确,是因为没有加这个配置的原因

@EnableTransactionManagement
@Configuration
@MapperScan("com.xx.*.mapper*")
public class MybatisPlusConfig {

    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false
        // paginationInterceptor.setOverflow(false);
        // 设置最大单页限制数量,默认 500 条,-1 不受限制
         paginationInterceptor.setLimit(-1);
        // 开启 count 的 join 优化,只针对部分 left join
        paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
        return paginationInterceptor;
    }
}

这段代码是一个配置类,用于配置MyBatis Plus框架的一些参数和功能。
@EnableTransactionManagement 注解表示启用事务管理,可以在该类中使用 @Transactional 注解来声明事务。
@Configuration 注解表示这是一个配置类,Spring会自动识别并加载该类的配置。
@MapperScan(“com.xx.xcloud.dsp..mapper”) 注解用于扫描指定包下的 Mapper 接口,将其注册为 Spring Bean,使其可以被其他组件自动注入使用。
MybatisPlusConfig 类定义了一个名为 paginationInterceptor 的 Bean,并通过 @Bean 注解标记该方法将返回一个对象,Spring会将其注册为一个 Bean。
paginationInterceptor() 方法返回一个 PaginationInterceptor 对象,该对象是 MyBatis Plus 提供的分页插件。setLimit(-1) 设置最大单页限制数量为 -1,表示不受限制,可以返回任意数量的记录。
setCountSqlParser(new JsqlParserCountOptimize(true)) 开启 count 的 join 优化,针对部分 left join 进行优化,提升查询性能。

通过配置 MybatisPlusConfig 类并注册 paginationInterceptor Bean,可以实现在使用 MyBatis Plus 进行数据库操作时自动进行分页和查询优化。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值