public class ConnectionPool {
private static ConnectionPool cp;
// 存放数据库配置的缓存
public static DataSourceBean dataSourceBean = new DataSourceBean();
// 连接池对象
private BasicDataSource bds;
// 单子模式:构造方法私有化
private ConnectionPool() {
// 初始化连接池对象
bds = new BasicDataSource();
// 设置连接池属性
bds.setDriverClassName(dataSourceBean.getDriver());
bds.setUrl(dataSourceBean.getUrl());
bds.setUsername(dataSourceBean.getUserName());
bds.setPassword(dataSourceBean.getPassword());
bds.setMaxActive(dataSourceBean.getMaxActive());
}
// 获取连接池封装类对象的方法
public static ConnectionPool getInstance() {
if (null == cp) {
cp = new ConnectionPool();
}
return cp;
}
// 获取连接池连接
public Connection getCon() throws SQLException {
return bds.getConnection();
}
//关闭连接池连接
public void closeCon(Connection con) throws SQLException{
con.close();
}
}
两种连接方式:
1.Connection con = ConnectionPool.getInstance().getCon();
2.由于action中有封装ConnectionPool.getInstance(),所以可以用构造函数传值Connection。
private static ConnectionPool cp;
// 存放数据库配置的缓存
public static DataSourceBean dataSourceBean = new DataSourceBean();
// 连接池对象
private BasicDataSource bds;
// 单子模式:构造方法私有化
private ConnectionPool() {
// 初始化连接池对象
bds = new BasicDataSource();
// 设置连接池属性
bds.setDriverClassName(dataSourceBean.getDriver());
bds.setUrl(dataSourceBean.getUrl());
bds.setUsername(dataSourceBean.getUserName());
bds.setPassword(dataSourceBean.getPassword());
bds.setMaxActive(dataSourceBean.getMaxActive());
}
// 获取连接池封装类对象的方法
public static ConnectionPool getInstance() {
if (null == cp) {
cp = new ConnectionPool();
}
return cp;
}
// 获取连接池连接
public Connection getCon() throws SQLException {
return bds.getConnection();
}
//关闭连接池连接
public void closeCon(Connection con) throws SQLException{
con.close();
}
}
两种连接方式:
1.Connection con = ConnectionPool.getInstance().getCon();
2.由于action中有封装ConnectionPool.getInstance(),所以可以用构造函数传值Connection。
本文介绍了一个简单的数据库连接池实现方案,使用Java语言并通过单例模式管理连接资源。该方案包括了连接池的基本配置如最大活跃连接数等,并提供了获取和关闭连接的方法。
5057

被折叠的 条评论
为什么被折叠?



