疯狂的狮子li
2021-09-23 553c29ab8a46c9a07e3657fdd36a81a6bfde1afe
ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
@@ -1,17 +1,31 @@
package com.ruoyi.framework.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
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.core.metadata.TableInfo;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
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
@@ -32,10 +46,10 @@
    */
   public PaginationInnerInterceptor paginationInnerInterceptor() {
      PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
      // 设置数据库类型为mysql
      paginationInnerInterceptor.setDbType(DbType.MYSQL);
      // 设置最大单页限制数量,默认 500 条,-1 不受限制
      paginationInnerInterceptor.setMaxLimit(-1L);
      // 分页合理化
      paginationInnerInterceptor.setOverflow(true);
      return paginationInnerInterceptor;
   }
@@ -86,10 +100,17 @@
    * 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, TableInfo tableInfo) {
            List<AbstractMethod> methodList = super.getMethodList(mapperClass, tableInfo);
            methodList.add(new InsertAll());
            return methodList;
         }
      };
   }
   /**
    * TenantLineInnerInterceptor 多租户插件