Browse Source

注入器优化

Caratacus 6 năm trước cách đây
mục cha
commit
4176af03c0

+ 20 - 6
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/injector/AbstractSqlInjector.java

@@ -15,14 +15,15 @@
  */
 package com.baomidou.mybatisplus.core.injector;
 
-import com.baomidou.mybatisplus.core.parser.SqlParserHelper;
-import com.baomidou.mybatisplus.core.toolkit.Assert;
-import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
+import java.util.List;
+import java.util.Set;
+
 import org.apache.ibatis.builder.MapperBuilderAssistant;
 import org.apache.ibatis.session.Configuration;
 
-import java.util.List;
-import java.util.Set;
+import com.baomidou.mybatisplus.core.parser.SqlParserHelper;
+import com.baomidou.mybatisplus.core.toolkit.Assert;
+import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
 
 
 /**
@@ -56,7 +57,9 @@ public abstract class AbstractSqlInjector implements ISqlInjector {
 
     @Override
     public void injectSqlRunner(Configuration configuration) {
-        // to do nothing
+        if (isInjectSqlRunner()) {
+            new SqlRunnerInjector().inject(configuration);
+        }
     }
 
     /**
@@ -67,4 +70,15 @@ public abstract class AbstractSqlInjector implements ISqlInjector {
      * @return 注入的方法集合
      */
     public abstract List<AbstractMethod> getMethodList();
+
+    /**
+     * <p>
+     * 是否注入SqlRunner,抽象类默认注入,如果不需要重写该方法
+     * </p>
+     *
+     * @return 注入的方法集合
+     */
+    public boolean isInjectSqlRunner() {
+        return true;
+    }
 }

+ 0 - 7
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/injector/DefaultSqlInjector.java

@@ -19,8 +19,6 @@ import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import org.apache.ibatis.session.Configuration;
-
 import com.baomidou.mybatisplus.core.injector.methods.Delete;
 import com.baomidou.mybatisplus.core.injector.methods.DeleteBatchByIds;
 import com.baomidou.mybatisplus.core.injector.methods.DeleteById;
@@ -74,9 +72,4 @@ public class DefaultSqlInjector extends AbstractSqlInjector {
         ).collect(Collectors.toList());
     }
 
-
-    @Override
-    public void injectSqlRunner(Configuration configuration) {
-        new SqlRunnerInjector().inject(configuration);
-    }
 }

+ 0 - 8
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/injector/LogicSqlInjector.java

@@ -19,11 +19,8 @@ import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import org.apache.ibatis.session.Configuration;
-
 import com.baomidou.mybatisplus.core.injector.AbstractMethod;
 import com.baomidou.mybatisplus.core.injector.AbstractSqlInjector;
-import com.baomidou.mybatisplus.core.injector.SqlRunnerInjector;
 import com.baomidou.mybatisplus.core.injector.methods.Insert;
 import com.baomidou.mybatisplus.extension.injector.methods.LogicDelete;
 import com.baomidou.mybatisplus.extension.injector.methods.LogicDeleteBatchByIds;
@@ -77,9 +74,4 @@ public class LogicSqlInjector extends AbstractSqlInjector {
         ).collect(Collectors.toList());
     }
 
-
-    @Override
-    public void injectSqlRunner(Configuration configuration) {
-        new SqlRunnerInjector().inject(configuration);
-    }
 }