package com.gotion.dataextract.utils; import com.alibaba.druid.pool.DruidDataSourceFactory; import com.gotion.common.core.constant.Constants; import com.gotion.common.core.constant.ServiceNameConstants; import com.gotion.common.core.exception.BaseException; import javax.sql.DataSource; import java.sql.*; import java.util.Properties; /** * 数据库链接工具类 * * @author fangzp * @date 2022-06-16 */ public class JdbcUtil { /** * 从druid数据库连接池获取数据库连接 * * @param driver 数据库驱动 * @param url 数据库连接串 * @param username 用户名 * @param password 密码 * @return 连接 */ public static Connection druidDataSource(String driver, String url, String username, String password) { try { Properties properties = new Properties(); properties.setProperty("driverClassName", driver); properties.setProperty("url", url); properties.setProperty("username", username); properties.setProperty("password", password); properties.setProperty("initialSize", "10"); properties.setProperty("maxActive", "20"); DataSource dataSource = DruidDataSourceFactory.createDataSource(properties); return dataSource.getConnection(); } catch (Exception e) { throw new BaseException(ServiceNameConstants.DATA_SERVICE, Constants.ERROR, null, "获取数据库连接错误"); } } /** * 释放连接资源 * * @param conn 连接 * @param ps 预处理对象 * @param rs 结果集 */ public static void closeAll(Connection conn, PreparedStatement ps, ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if (ps != null) { ps.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if (conn != null) { conn.close(); } } catch (Exception e2) { // TODO: handle exception } } } } }
JDBC从连接池获取连接(Druid连接池)
最新推荐文章于 2023-04-27 20:19:08 发布