Преглед изворни кода

取消 MybatisMapWrapperFactory 的自动注册

miemie пре 6 година
родитељ
комит
f20bcff0c6

+ 4 - 5
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/MybatisMapWrapperFactory.java

@@ -15,18 +15,17 @@
  */
 package com.baomidou.mybatisplus.extension;
 
-import java.util.Map;
-
+import com.baomidou.mybatisplus.extension.handlers.MybatisMapWrapper;
 import org.apache.ibatis.reflection.MetaObject;
 import org.apache.ibatis.reflection.wrapper.ObjectWrapper;
 import org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory;
 
-import com.baomidou.mybatisplus.extension.handlers.MybatisMapWrapper;
+import java.util.Map;
 
 /**
  * 开启返回map结果集的下划线转驼峰
  *
- * <p>// 使用注册 Map 下划线转驼峰</p>
+ * <p> Map 的 key 下划线转驼峰 </p>
  * <p>configuration.setObjectWrapperFactory(new MybatisMapWrapperFactory());</p>
  *
  * @author yuxiaobin
@@ -40,7 +39,7 @@ public class MybatisMapWrapperFactory implements ObjectWrapperFactory {
     }
 
     @SuppressWarnings("unchecked")
-	@Override
+    @Override
     public ObjectWrapper getWrapperFor(MetaObject metaObject, Object object) {
         return new MybatisMapWrapper(metaObject, (Map<String, Object>) object);
     }

+ 0 - 6
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/spring/MybatisSqlSessionFactoryBean.java

@@ -26,7 +26,6 @@ import com.baomidou.mybatisplus.core.toolkit.Assert;
 import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
 import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringPool;
-import com.baomidou.mybatisplus.extension.MybatisMapWrapperFactory;
 import com.baomidou.mybatisplus.extension.handlers.MybatisEnumTypeHandler;
 import com.baomidou.mybatisplus.extension.toolkit.AopUtils;
 import com.baomidou.mybatisplus.extension.toolkit.JdbcUtils;
@@ -476,11 +475,6 @@ public class MybatisSqlSessionFactoryBean implements FactoryBean<SqlSessionFacto
         // TODO 初始化 id-work 以及 打印骚东西
         targetConfiguration.setGlobalConfig(this.globalConfig);
 
-        // TODO 自动注入 map 接收返回结果下是否下划线转驼峰
-        if (targetConfiguration.isMapUnderscoreToCamelCase()) {
-            targetConfiguration.setObjectWrapperFactory(new MybatisMapWrapperFactory());
-        }
-
         // TODO 设置元数据相关 如果用户没有配置 dbType 则自动获取
         if (globalConfig.getDbConfig().getDbType() == DbType.OTHER) {
             try (Connection connection = AopUtils.getTargetObject(this.dataSource).getConnection()) {

+ 3 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/config/MybatisPlusConfig.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.config.GlobalConfig;
 import com.baomidou.mybatisplus.core.injector.AbstractMethod;
 import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
 import com.baomidou.mybatisplus.core.parser.ISqlParser;
+import com.baomidou.mybatisplus.extension.MybatisMapWrapperFactory;
 import com.baomidou.mybatisplus.extension.injector.methods.additional.AlwaysUpdateSomeColumnById;
 import com.baomidou.mybatisplus.extension.injector.methods.additional.InsertBatchSomeColumn;
 import com.baomidou.mybatisplus.extension.injector.methods.additional.LogicDeleteByIdWithFill;
@@ -74,6 +75,8 @@ public class MybatisPlusConfig {
         configuration.addInterceptor(paginationInterceptor);
         /* 乐观锁插件 */
         configuration.addInterceptor(new OptimisticLockerInterceptor());
+        /* map 下划线转驼峰 */
+        configuration.setObjectWrapperFactory(new MybatisMapWrapperFactory());
         sqlSessionFactory.setConfiguration(configuration);
         /* 自动填充插件 */
         globalConfig.setMetaObjectHandler(new MysqlMetaObjectHandler());