Bladeren bron

优化获取方言

mxd 5 jaren geleden
bovenliggende
commit
820d3ab59e
1 gewijzigde bestanden met toevoegingen van 13 en 12 verwijderingen
  1. 13 12
      src/main/java/org/ssssssss/executor/SqlExecutor.java

+ 13 - 12
src/main/java/org/ssssssss/executor/SqlExecutor.java

@@ -254,19 +254,20 @@ public class SqlExecutor {
      * 获取数据库方言
      */
     public Dialect getDialect(String dataSourceName) throws SQLException {
-        if (cachedDialects.containsKey(dataSourceName)) {
-            return cachedDialects.get(cachedDialects);
-        }
-        JdbcTemplate jdbcTemplate = getJdbcTemplate(dataSourceName);
-        Connection connection = jdbcTemplate.getDataSource().getConnection();
-        try {
-            Dialect dialect = DialectUtils.getDialectFromUrl(connection.getMetaData().getURL());
-            cachedDialects.put(dataSourceName, dialect);
-            return dialect;
-        } finally {
-            // 释放连接
-            DataSourceUtils.releaseConnection(connection, jdbcTemplate.getDataSource());
+        Dialect dialect = cachedDialects.get(cachedDialects);
+        if (dialect == null && !cachedDialects.containsKey(dataSourceName)) {
+            JdbcTemplate jdbcTemplate = getJdbcTemplate(dataSourceName);
+            Connection connection = jdbcTemplate.getDataSource().getConnection();
+            try {
+                dialect = DialectUtils.getDialectFromUrl(connection.getMetaData().getURL());
+                cachedDialects.put(dataSourceName, dialect);
+                return dialect;
+            } finally {
+                // 释放连接
+                DataSourceUtils.releaseConnection(connection, jdbcTemplate.getDataSource());
+            }
         }
+        return dialect;
     }
 
 }