62,620
社区成员
发帖
与我相关
我的任务
分享import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import org.apache.log4j.Logger;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class ConnectionManager {
private final static Logger LOG = Logger.getLogger(ConnectionManager.class);
private static ComboPooledDataSource ds = new ComboPooledDataSource();
private ConnectionManager() {
}
static {
try {
if(LOG.isDebugEnabled()) {
LOG.debug("正在初始化数据连接池");
}
Config config = Config.getInstance();
ds.setDriverClass(config.getJdbcDriver());
ds.setJdbcUrl(config.getJdbcUrl());
ds.setUser(config.getDatabaseUsername());
ds.setPassword(config.getDatabasePassword());
ds.setMaxPoolSize(config.getDatabasePoolMaxSize());
ds.setMinPoolSize(config.getDatabasePoolMinSize());
if(LOG.isDebugEnabled()) {
LOG.debug("数据连接池初始化完成" +
", 最大可用连接数:" +ds.getMaxPoolSize() +
", 最小连接数:" + ds.getMinPoolSize());
}
} catch (PropertyVetoException e) {
LOG.error("连接池初始化失败,原因:" + e.getMessage());
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
}