From f30f3ac37bac4d170e1fe6d87fdf57adb3b783d3 Mon Sep 17 00:00:00 2001
From: konbai <1527468660@qq.com>
Date: 星期五, 18 三月 2022 01:37:04 +0800
Subject: [PATCH] fix 修复执行"查询当前数据库类型"后未关闭数据库链接,导致当前连接池中活跃连接数达到最大连接数的bug

---
 ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java b/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java
index 55a3a41..34afa5b 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java
@@ -9,6 +9,7 @@
 import lombok.NoArgsConstructor;
 
 import javax.sql.DataSource;
+import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.SQLException;
 
@@ -23,11 +24,11 @@
     /**
      * 鑾峰彇褰撳墠鏁版嵁搴撶被鍨�
      */
-    public static DataBaseType getDataBasyType() {
+    public static DataBaseType getDataBaseType() {
         DynamicRoutingDataSource ds = (DynamicRoutingDataSource) SpringUtils.getBean(DataSource.class);
         DataSource dataSource = ds.determineDataSource();
-        try {
-            DatabaseMetaData metaData = dataSource.getConnection().getMetaData();
+        try (Connection conn = dataSource.getConnection()) {
+            DatabaseMetaData metaData = conn.getMetaData();
             String databaseProductName = metaData.getDatabaseProductName();
             return DataBaseType.find(databaseProductName);
         } catch (SQLException e) {
@@ -36,23 +37,23 @@
     }
 
     public static boolean isMySql() {
-        return DataBaseType.MY_SQL == getDataBasyType();
+        return DataBaseType.MY_SQL == getDataBaseType();
     }
 
     public static boolean isOracle() {
-        return DataBaseType.ORACLE == getDataBasyType();
+        return DataBaseType.ORACLE == getDataBaseType();
     }
 
     public static boolean isPostgerSql() {
-        return DataBaseType.POSTGRE_SQL == getDataBasyType();
+        return DataBaseType.POSTGRE_SQL == getDataBaseType();
     }
 
     public static boolean isSqlServer() {
-        return DataBaseType.SQL_SERVER == getDataBasyType();
+        return DataBaseType.SQL_SERVER == getDataBaseType();
     }
 
     public static String findInSet(Object var1, String var2) {
-        DataBaseType dataBasyType = getDataBasyType();
+        DataBaseType dataBasyType = getDataBaseType();
         String var = Convert.toStr(var1);
         if (dataBasyType == DataBaseType.SQL_SERVER) {
             // charindex(',100,' , ',0,100,101,') <> 0

--
Gitblit v1.9.3