package com.nbugs.config;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public final class DbConnectConfig {
private static ComboPooledDataSource dataSource;
static {
dataSource = new ComboPooledDataSource();
//用户名
dataSource.setUser(JdbcPropertiesConfig.getUSERNAME());
//密码
dataSource.setPassword(JdbcPropertiesConfig.getPASSWORD());
//数据库地址
dataSource.setJdbcUrl(JdbcPropertiesConfig.getDATABASEURL());
try {
dataSource.setDriverClass(JdbcPropertiesConfig.getDRIVERCLASSNAME());
} catch (PropertyVetoException e) {
e.printStackTrace();
}
//初始化连接数
dataSource.setInitialPoolSize(JdbcPropertiesConfig.getINITIALPOOLSIZE());
//最小连接数
dataSource.setMinPoolSize(JdbcPropertiesConfig.getMINPOOLSIZE());
//最大连接数
dataSource.setMaxPoolSize(JdbcPropertiesConfig.getMAXPOOLSIZE());
//最长等待时间
dataSource.setMaxStatements(JdbcPropertiesConfig.getMAXSTATEMENTS());
//最大空闲时间,单位毫秒
dataSource.setMaxIdleTime(JdbcPropertiesConfig.getMAXIDLETIME());
dataSource.setCheckoutTimeout(5000);
dataSource.setUnreturnedConnectionTimeout(20);
}
public synchronized static final Connection getConnection() {
Connection conn = null;
try {
conn = dataSource.getConnection();
} catch (SQLException e) {
System.out.println("\r\n数据库连接异常");
e.printStackTrace();
}
return conn;
}
public static void closeConnect(PreparedStatement pstmt, ResultSet rs, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (null != conn) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
版权声明:本文为sade1231原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。