疯狂的狮子li
2021-01-15 3362ce5f33bcf15c1e86b940745e8482ab4d1666
ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
@@ -1,13 +1,13 @@
package com.ruoyi.framework.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
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.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;
@@ -20,11 +20,22 @@
@Configuration
public class MybatisPlusConfig {
   @Bean
   public MybatisPlusInterceptor mybatisPlusInterceptor() {
      MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
      // 分页插件
      interceptor.addInnerInterceptor(paginationInnerInterceptor());
      // 乐观锁插件
      interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
      // 阻断插件
      interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
      return interceptor;
   }
   /**
    * 分页插件,自动识别数据库类型
    * https://baomidou.com/guide/interceptor-pagination.html
    */
   @Bean
   public PaginationInnerInterceptor paginationInnerInterceptor() {
      PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
      // 设置数据库类型为mysql
@@ -35,18 +46,9 @@
   }
   /**
    * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
    */
   @Bean
   public ConfigurationCustomizer configurationCustomizer() {
      return configuration -> configuration.setUseDeprecatedExecutor(false);
   }
   /**
    * 乐观锁插件
    * https://baomidou.com/guide/interceptor-optimistic-locker.html
    */
   @Bean
   public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {
      return new OptimisticLockerInnerInterceptor();
   }
@@ -55,7 +57,6 @@
    * 如果是对全表的删除或更新操作,就会终止该操作
    * https://baomidou.com/guide/interceptor-block-attack.html
    */
   @Bean
   public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {
      return new BlockAttackInnerInterceptor();
   }
@@ -64,7 +65,6 @@
    * sql性能规范插件(垃圾SQL拦截)
    * 如有需要可以启用
    */
//   @Bean
//   public IllegalSQLInnerInterceptor illegalSQLInnerInterceptor() {
//      return new IllegalSQLInnerInterceptor();
//   }