瀏覽代碼

默认的 dbType 改为 other, 如果用户没有配置才会自动获取 dbType

miemie 7 年之前
父節點
當前提交
06cd274f06

+ 1 - 1
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/config/GlobalConfig.java

@@ -95,7 +95,7 @@ public class GlobalConfig implements Serializable {
         /**
          * 数据库类型
          */
-        private DbType dbType = DbType.MYSQL;
+        private DbType dbType = DbType.OTHER;
         /**
          * 主键类型(默认 ID_WORKER)
          */

+ 1 - 4
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/GlobalConfigUtils.java

@@ -73,10 +73,7 @@ public class GlobalConfigUtils {
      * </p>
      */
     public static GlobalConfig defaults() {
-        GlobalConfig config = new GlobalConfig();
-        GlobalConfig.DbConfig dbConfig = new GlobalConfig.DbConfig();
-        config.setDbConfig(dbConfig);
-        return config;
+        return new GlobalConfig().setDbConfig(new GlobalConfig.DbConfig());
     }
 
     /**

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

@@ -15,6 +15,7 @@
  */
 package com.baomidou.mybatisplus.extension.spring;
 
+import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.core.MybatisConfiguration;
 import com.baomidou.mybatisplus.core.MybatisXMLConfigBuilder;
 import com.baomidou.mybatisplus.core.config.GlobalConfig;
@@ -560,14 +561,13 @@ public class MybatisSqlSessionFactoryBean implements FactoryBean<SqlSessionFacto
         if (null == globalConfig) {
             globalConfig = GlobalConfigUtils.defaults();
         }
-        // 设置元数据相关 todo 是否加上 dbType 的自动识别
-        // GlobalConfigUtils.setMetaData(dataSource, globalConfig);
-        try (Connection connection = dataSource.getConnection()) {
-            // 设置全局关键字
-            //globalConfig.getDbConfig().setSqlKeywords(connection.getMetaData().getSQLKeywords());
-            globalConfig.getDbConfig().setDbType(JdbcUtils.getDbType(connection.getMetaData().getURL()));
-        } catch (Exception e) {
-            throw ExceptionUtils.mpe("Error: GlobalConfigUtils setMetaData Fail !  Cause:" + e);
+        // 设置元数据相关 如果用户没有配置 dbType 则自动获取
+        if (globalConfig.getDbConfig().getDbType() == DbType.OTHER) {
+            try (Connection connection = dataSource.getConnection()) {
+                globalConfig.getDbConfig().setDbType(JdbcUtils.getDbType(connection.getMetaData().getURL()));
+            } catch (Exception e) {
+                throw ExceptionUtils.mpe("Error: GlobalConfigUtils setMetaData Fail !  Cause:" + e);
+            }
         }
         SqlSessionFactory sqlSessionFactory = this.sqlSessionFactoryBuilder.build(configuration);
         // TODO SqlRunner