فهرست منبع

use auto distinguish database

Caratacus 8 سال پیش
والد
کامیت
14dff1db21

+ 2 - 2
pom.xml

@@ -240,8 +240,8 @@
         </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>
-            <artifactId>${lombok.version}</artifactId>
-            <version>1.16.16</version>
+            <artifactId>lombok</artifactId>
+            <version>${lombok.version}</version>
             <scope>test</scope>
         </dependency>
         <!-- test end -->

+ 8 - 18
src/main/java/com/baomidou/mybatisplus/entity/GlobalConfiguration.java

@@ -48,8 +48,8 @@ public class GlobalConfiguration implements Serializable {
     private String logicDeleteValue = null;
     // 逻辑未删除全局值
     private String logicNotDeleteValue = null;
-    // 数据库类型(默认 MySql)
-    private DBType dbType = DBType.MYSQL;
+    // 数据库类型
+    private DBType dbType;
     // 主键类型(默认 ID_WORKER)
     private IdType idType = IdType.ID_WORKER;
     // 表名、字段名、是否使用下划线命名(默认 false)
@@ -64,8 +64,6 @@ public class GlobalConfiguration implements Serializable {
     private FieldStrategy fieldStrategy = FieldStrategy.NOT_NULL;
     // 是否刷新mapper
     private boolean isRefresh = false;
-    // 是否自动获取DBType
-    private boolean isAutoSetDbType = true;
     // 是否大写命名
     private boolean isCapitalMode = false;
     // 标识符
@@ -115,12 +113,12 @@ public class GlobalConfiguration implements Serializable {
         return dbType;
     }
 
-    public void setDbType(String dbType) {
-        this.dbType = DBType.getDBType(dbType);
-        this.isAutoSetDbType = false;
-    }
-
-    public void setDbTypeByJdbcUrl(String jdbcUrl) {
+    /**
+     * 根据jdbcUrl设置数据库类型
+     *
+     * @param jdbcUrl
+     */
+    public void setDbType(String jdbcUrl) {
         this.dbType = JdbcUtils.getDbType(jdbcUrl);
     }
 
@@ -172,14 +170,6 @@ public class GlobalConfiguration implements Serializable {
         this.isRefresh = refresh;
     }
 
-    public boolean isAutoSetDbType() {
-        return isAutoSetDbType;
-    }
-
-    public void setAutoSetDbType(boolean autoSetDbType) {
-        this.isAutoSetDbType = autoSetDbType;
-    }
-
     public Set<String> getMapperRegistryCache() {
         return mapperRegistryCache;
     }

+ 4 - 17
src/main/java/com/baomidou/mybatisplus/toolkit/GlobalConfigUtils.java

@@ -1,7 +1,6 @@
 package com.baomidou.mybatisplus.toolkit;
 
 import java.sql.Connection;
-import java.sql.SQLException;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
@@ -156,10 +155,6 @@ public class GlobalConfigUtils {
         return getGlobalConfig(configuration).isRefresh();
     }
 
-    public static boolean isAutoSetDbType(Configuration configuration) {
-        return getGlobalConfig(configuration).isAutoSetDbType();
-    }
-
     public static Set<String> getMapperRegistryCache(Configuration configuration) {
         return getGlobalConfig(configuration).getMapperRegistryCache();
     }
@@ -179,22 +174,14 @@ public class GlobalConfigUtils {
      * @param globalConfig
      */
     public static void setMetaData(DataSource dataSource, GlobalConfiguration globalConfig) {
-        Connection connection = null;
-        try {
-            connection = dataSource.getConnection();
+        try(Connection connection = dataSource.getConnection()) {
             String jdbcUrl = connection.getMetaData().getURL();
             // 设置全局关键字
             globalConfig.setSqlKeywords(connection.getMetaData().getSQLKeywords());
             // 自动设置数据库类型
-            if (globalConfig.isAutoSetDbType()) {
-                globalConfig.setDbTypeByJdbcUrl(jdbcUrl);
-            }
-        } catch (SQLException e) {
-            logger.warn("Warn: GlobalConfiguration setMetaData Fail !  Cause:" + e);
-        } finally {
-            IOUtils.closeQuietly(connection);
+            globalConfig.setDbType(jdbcUrl);
+        }catch (Exception e){
+            throw new MybatisPlusException("Error: GlobalConfigUtils setMetaData Fail !  Cause:" + e);
         }
     }
-
-
 }

+ 0 - 1
src/test/java/com/baomidou/mybatisplus/test/GlobalConfigurationTest.java

@@ -50,7 +50,6 @@ public class GlobalConfigurationTest {
     @SuppressWarnings("unchecked")
     public static void main(String[] args) {
         GlobalConfiguration global = GlobalConfigUtils.defaults();
-        global.setAutoSetDbType(true);
         // 设置全局校验机制为FieldStrategy.Empty
         global.setFieldStrategy(2);
         BasicDataSource dataSource = new BasicDataSource();