实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection。这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接池。用池来管理Connection,这样可以重复使用Connection。有了池,所以我们就不用自己来创建Connection,而是通过池来获取Connection对象。当使用完Connection后,调用Connection的close()方法也不会真的关闭Connection,而是把Connection“归还”给池。池就可以再利用这个Connection对象了。
DBCP连接池也是一个开源的连接池,是Apache Common成员之一,在企业开发中也比较常见,tomcat内置的连接池。
首先导入jar包。
其次,编写一个工具类。
public class JDBCUtils {
// 创建出BasicDataSource类对象
private static BasicDataSource datasource = new BasicDataSource();
// 静态代码块,对象BasicDataSource对象中的配置,自定义
static {
// 数据库连接信息,必须的
datasource.setDriverClassName("com.mysql.jdbc.Driver");
datasource.setUrl("jdbc:mysql://localhost:3306/day33_user");
datasource.setUsername("root");
datasource.setPassword("123");
// 对象连接池中的连接数量配置,可选的
datasource.setInitialSize(10);// 初始化的连接数
datasource.setMaxActive(8);// 最大连接数量
datasource.setMaxIdle(5);// 最大空闲数
datasource.setMinIdle(1);// 最小空闲
}
// 定义静态方法,返回BasicDataSource类的对象
public static DataSource getDataSource() {
return datasource;
}
}