什么是数据库连接池
数据库连接池就是存放数据库连接的一个容器(集合)Connection。
当系统运行起来之后,这个连接池就被创建,在这个连接池当中,会申请一些对象,当有用户来访问数据库的时候,就从这个连接池当中获取连接对象,用户访问结束之后,连接池对象会归还给容器
连接池原理
- 在服务器端一次性创建多个连接,将多个连接保存在一个连接池对象中,当应用程序的请求需要操作数据库时,不会为请求创建新的连接,而是直接从连接池中获得一个连接,操作数据库结束之后,并不需要真正关闭连接,而是将连接放回到连接池中。
- 节省创建连接、释放连接 资源
连接池的实现
编写连接池需实现javax.sql.DataSource接口。DataSource接口中定义了两个重载的。
连接池常用方法:
getConnection();//获取连接对象
Connection.getConnection()
Connection.getConnection(String username, String password)
conn.close();//归还连接池对象
DBCP连接池
-
DBCP 是 Apache 软件基金组织下的开源连接池实现,使用DBCP连接池,需要在build path中增加如下两个 jar 文件:
-
Commons-dbcp.jar:连接池的实现
-
Commons-pool.jar:连接池实现的依赖库
-
-
Tomcat 的连接池正是采用该连接池来实现的。该数据库连接池既可以与应用服务器整合使用,也可由应用程序独立使用。
-
使用DBCP连接池,需要有driverclass、url、username、password,有两种方法配置:
-
使用BasicDataSource.setXXX(XXX)方法手动设置四个参数
@Test
public void demo1() throws SQLException {
// 使用BasicDataSource 创建连接池
BasicDataSource</