MybatisPlusConfig.java 1.9 KB
Newer Older
liqin's avatar
liqin committed
1 2
package cn.wisenergy.chnmuseum.party.conf;

liqin's avatar
liqin committed
3
import cn.wisenergy.chnmuseum.party.common.mybatis.MyLogicSqlInjector;
liqin's avatar
liqin committed
4 5 6
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
liqin's avatar
liqin committed
7 8
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
liqin's avatar
liqin committed
9
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
liqin's avatar
liqin committed
10 11 12 13 14 15
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
liqin's avatar
liqin committed
16 17
@MapperScan("cn.wisenergy.chnmuseum.party.mapper*")
@EnableConfigurationProperties(MybatisPlusProperties.class)
liqin's avatar
liqin committed
18 19
public class MybatisPlusConfig {

liqin's avatar
liqin committed
20 21 22 23 24 25 26
    /**
     * mybatis-plus乐观锁插件
     */
    @Bean
    public OptimisticLockerInnerInterceptor optimisticLockerInterceptor() {
        return new OptimisticLockerInnerInterceptor();
    }
liqin's avatar
liqin committed
27

liqin's avatar
liqin committed
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
    @Bean
    public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {
        return new BlockAttackInnerInterceptor();
    }

    /**
     * 自定义 SqlInjector
     * 里面包含自定义的全局方法
     */
    @Bean
    public MyLogicSqlInjector myLogicSqlInjector() {
        return new MyLogicSqlInjector();
    }

    /**
     * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
liqin's avatar
liqin committed
51 52

}