疯狂的狮子li
2021-07-28 eb2be90e74adfa06ee251f80c08243d0301ce467
ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
@@ -2,22 +2,30 @@
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.incrementer.H2KeyGenerator;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.IllegalSQLInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.ruoyi.common.core.mybatisplus.methods.InsertAll;
import com.ruoyi.framework.mybatisplus.CreateAndUpdateMetaObjectHandler;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import java.util.List;
/**
 * mybatis-plus配置类
 *
 * @author Lion Li
 */
@EnableTransactionManagement(proxyTargetClass = true)
@Configuration
// 指定要扫描的Mapper类的包的路径
@MapperScan("${mybatis-plus.mapperPackage}")
public class MybatisPlusConfig {
   @Bean
@@ -28,7 +36,7 @@
      // 乐观锁插件
      interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
      // 阻断插件
      interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
//      interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
      return interceptor;
   }
@@ -57,9 +65,9 @@
    * 如果是对全表的删除或更新操作,就会终止该操作
    * https://baomidou.com/guide/interceptor-block-attack.html
    */
   public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {
      return new BlockAttackInnerInterceptor();
   }
//   public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {
//      return new BlockAttackInnerInterceptor();
//   }
   /**
    * sql性能规范插件(垃圾SQL拦截)
@@ -67,22 +75,6 @@
    */
//   public IllegalSQLInnerInterceptor illegalSQLInnerInterceptor() {
//      return new IllegalSQLInnerInterceptor();
//   }
   /**
    * Sequence主键策略 IdType.INPUT 时使用
    * 内置支持:
    *
    * DB2KeyGenerator
    * H2KeyGenerator
    * KingbaseKeyGenerator
    * OracleKeyGenerator
    * PostgreKeyGenerator
    * https://baomidou.com/guide/sequence.html
    */
//   @Bean
//   public IKeyGenerator keyGenerator() {
//      return new H2KeyGenerator();
//   }
@@ -99,19 +91,26 @@
    * 元对象字段填充控制器
    * https://baomidou.com/guide/auto-fill-metainfo.html
    */
//   @Bean
//   public MetaObjectHandler metaObjectHandler() {
//      return new MyMetaObjectHandler();
//   }
   @Bean
   public MetaObjectHandler metaObjectHandler() {
      return new CreateAndUpdateMetaObjectHandler();
   }
   /**
    * sql注入器配置
    * https://baomidou.com/guide/sql-injector.html
    */
//   @Bean
//   public ISqlInjector sqlInjector() {
//      return new DefaultSqlInjector();
//   }
   @Bean
   public ISqlInjector sqlInjector() {
      return new DefaultSqlInjector() {
         @Override
         public List<AbstractMethod> getMethodList(Class<?> mapperClass) {
            List<AbstractMethod> methodList = super.getMethodList(mapperClass);
            methodList.add(new InsertAll());
            return methodList;
         }
      };
   }
   /**
    * TenantLineInnerInterceptor 多租户插件