From 9d0e249ba6aec7d269da1466a0ee41c5e7495011 Mon Sep 17 00:00:00 2001 From: RGK Date: Thu, 18 Jul 2024 10:04:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4SqlHelper=E4=B8=ADgetConnecti?= =?UTF-8?q?on/getDataSource=E6=96=B9=E6=B3=95,=E5=9B=A0=E4=B8=BA=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BC=BC=E4=B9=8E=E5=B7=B2=E7=BB=8F=E7=94=B1DataSourc?= =?UTF-8?q?eManager=E6=89=BF=E6=8B=85=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gitee/gen/gen/SqlHelper.java | 75 ++++--------------- 1 file changed, 14 insertions(+), 61 deletions(-) diff --git a/gen/src/main/java/com/gitee/gen/gen/SqlHelper.java b/gen/src/main/java/com/gitee/gen/gen/SqlHelper.java index 8b66180..1e4163b 100644 --- a/gen/src/main/java/com/gitee/gen/gen/SqlHelper.java +++ b/gen/src/main/java/com/gitee/gen/gen/SqlHelper.java @@ -1,6 +1,10 @@ package com.gitee.gen.gen; -import org.apache.ibatis.datasource.pooled.PooledDataSourceFactory; +import java.sql.Connection; +import java.sql.SQLException; +import java.util.List; +import java.util.Map; +import javax.sql.DataSource; import org.apache.ibatis.jdbc.SqlRunner; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.Environment; @@ -12,14 +16,6 @@ import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.sql.DataSource; -import java.sql.Connection; -import java.sql.SQLException; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.concurrent.ConcurrentHashMap; - /** * 执行SQL语句的帮助类 * @@ -28,14 +24,6 @@ import java.util.concurrent.ConcurrentHashMap; public class SqlHelper { private static final Logger logger = LoggerFactory.getLogger(SqlHelper.class); - private static final String DRIVER = "driver"; - private static final String URL = "url"; - private static final String USERNAME = "username"; - private static final String PASSWORD = "password"; - - private static final Map dataSourceMap = new ConcurrentHashMap<>(16); - private static final ThreadLocal connectionLocal = new ThreadLocal<>(); - /** *
      * String sql = "SELECT * FROM datasource_config WHERE dc_id=${id}";
@@ -63,7 +51,7 @@ public class SqlHelper {
         DataSource dataSource = DataSourceManager.getDataSource(generatorConfig);
         String runSql = buildSqlWithParams(dataSource, sql, params);
         String[] sqls = runSql.split(";");
-        Connection conn = null;
+        Connection conn;
         try {
             conn = DataSourceManager.getConnection(generatorConfig);
             SqlRunner runner = buildSqlRunner(conn);
@@ -82,34 +70,14 @@ public class SqlHelper {
         }
     }
 
-
-    public static Connection getConnection(GeneratorConfig generatorConfig) {
-        Connection connection = connectionLocal.get();
-        if (connection == null) {
-            try {
-                connection = getDataSource(generatorConfig).getConnection();
-                connectionLocal.set(connection);
-            } catch (SQLException e) {
-                logger.error("获取Connection失败, jdbcUrl:{}", generatorConfig.getJdbcUrl(), e);
-                throw new RuntimeException("获取Connection失败", e);
-            }
-        }
-        return connection;
-    }
-
-    public static void closeConnection() {
-        Connection connection = connectionLocal.get();
-        if (connection != null) {
-            try {
-                connection.close();
-            } catch (SQLException e) {
-                e.printStackTrace();
-            }
-        }
-        connectionLocal.remove();
-    }
-
-    // 参数绑定
+    /**
+     * 参数绑定
+     *
+     * @param dataSource 数据源
+     * @param sql        sql模板
+     * @param params     参数
+     * @return 构建好的耍起莱
+     */
     private static String buildSqlWithParams(DataSource dataSource, String sql, Map params) {
         Configuration configuration = buildConfiguration(dataSource);
         TextSqlNode node = new TextSqlNode(sql);
@@ -126,21 +94,6 @@ public class SqlHelper {
         return new SqlRunner(connection);
     }
 
-
-    private static DataSource getDataSource(GeneratorConfig generatorConfig) {
-        String jdbcUrl = generatorConfig.getJdbcUrl();
-        return dataSourceMap.computeIfAbsent(jdbcUrl, key -> {
-            Properties properties = new Properties();
-            properties.setProperty(DRIVER, generatorConfig.getDriverClass());
-            properties.setProperty(URL, jdbcUrl);
-            properties.setProperty(USERNAME, generatorConfig.getUsername());
-            properties.setProperty(PASSWORD, generatorConfig.getPassword());
-            PooledDataSourceFactory pooledDataSourceFactory = new PooledDataSourceFactory();
-            pooledDataSourceFactory.setProperties(properties);
-            return pooledDataSourceFactory.getDataSource();
-        });
-    }
-
     private static Configuration buildConfiguration(DataSource dataSource) {
         TransactionFactory transactionFactory = new JdbcTransactionFactory();
         Environment environment = new Environment("development",
-- 
Gitee