Bladeren bron

ISqlInjector 直接去除 injectSqlRunner 方法,补全 MybatisMapperRegistry 注释

miemie 6 jaren geleden
bovenliggende
commit
201b3d01d9

+ 5 - 6
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/MybatisMapperRegistry.java

@@ -16,7 +16,6 @@
 package com.baomidou.mybatisplus.core;
 
 import com.baomidou.mybatisplus.core.override.MybatisMapperProxyFactory;
-import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
 import org.apache.ibatis.binding.BindingException;
 import org.apache.ibatis.binding.MapperRegistry;
 import org.apache.ibatis.session.SqlSession;
@@ -40,13 +39,12 @@ public class MybatisMapperRegistry extends MapperRegistry {
     public MybatisMapperRegistry(MybatisConfiguration config) {
         super(config);
         this.config = config;
-        // 注入SqlRunner
-        GlobalConfigUtils.getSqlInjector(config).injectSqlRunner(config);
     }
 
     @SuppressWarnings("unchecked")
     @Override
     public <T> T getMapper(Class<T> type, SqlSession sqlSession) {
+        // TODO 这里换成 MybatisMapperProxyFactory 而不是 MapperProxyFactory
         final MybatisMapperProxyFactory<T> mapperProxyFactory = (MybatisMapperProxyFactory<T>) knownMappers.get(type);
         if (mapperProxyFactory == null) {
             throw new BindingException("Type " + type + " is not known to the MybatisPlusMapperRegistry.");
@@ -69,16 +67,17 @@ public class MybatisMapperRegistry extends MapperRegistry {
             if (hasMapper(type)) {
                 // TODO 如果之前注入 直接返回
                 return;
-                // throw new BindingException("Type " + type +
-                // " is already known to the MybatisPlusMapperRegistry.");
+                // TODO 这里就不抛异常了
+//                throw new BindingException("Type " + type + " is already known to the MapperRegistry.");
             }
             boolean loadCompleted = false;
             try {
+                // TODO 这里也换成 MybatisMapperProxyFactory 而不是 MapperProxyFactory
                 knownMappers.put(type, new MybatisMapperProxyFactory<>(type));
                 // It's important that the type is added before the parser is run
                 // otherwise the binding may automatically be attempted by the
                 // mapper parser. If the type is already known, it won't try.
-                // TODO 自定义无 XML 注入
+                // TODO 这里也换成 MybatisMapperAnnotationBuilder 而不是 MapperAnnotationBuilder
                 MybatisMapperAnnotationBuilder parser = new MybatisMapperAnnotationBuilder(config, type);
                 parser.parse();
                 loadCompleted = true;

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

@@ -23,7 +23,6 @@ import com.baomidou.mybatisplus.core.toolkit.TableInfoHelper;
 import org.apache.ibatis.builder.MapperBuilderAssistant;
 import org.apache.ibatis.logging.Log;
 import org.apache.ibatis.logging.LogFactory;
-import org.apache.ibatis.session.Configuration;
 
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
@@ -63,11 +62,6 @@ public abstract class AbstractSqlInjector implements ISqlInjector {
         }
     }
 
-    @Override
-    public void injectSqlRunner(Configuration configuration) {
-        // do nothing
-    }
-
     /**
      * <p>
      * 获取 注入的方法

+ 0 - 13
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/injector/ISqlInjector.java

@@ -15,10 +15,7 @@
  */
 package com.baomidou.mybatisplus.core.injector;
 
-import com.baomidou.mybatisplus.core.assist.ISqlRunner;
-import com.baomidou.mybatisplus.core.config.GlobalConfig;
 import org.apache.ibatis.builder.MapperBuilderAssistant;
-import org.apache.ibatis.session.Configuration;
 
 /**
  * SQL 自动注入器接口
@@ -35,14 +32,4 @@ public interface ISqlInjector {
      * @param mapperClass      mapper 接口的 class 对象
      */
     void inspectInject(MapperBuilderAssistant builderAssistant, Class<?> mapperClass);
-
-    /**
-     * 注入 SqlRunner 相关
-     *
-     * @param configuration 全局配置
-     * @see ISqlRunner
-     * @deprecated 请使用 {@link GlobalConfig#enableSqlRunner} 属性来控制是否注入 SqlRunner
-     */
-    @Deprecated
-    void injectSqlRunner(Configuration configuration);
 }