DBCP数据源是Apache软件基金组织下的开源连接池实现,该连接池依赖该组织下的另一个开源系统:common=pool如果需要使用该连接池实现,则应该在系统中增加如下两个jar文件:commons-dbcp.jar(连接池的实现)和commons-pool.jar(连接池实现的依赖库)
Tomcat的连接池正式采用该连接池实现的。数据库连接池既可以与应用服务器整合使用,也可以由应用程序独立使用。
下面代码片段示范了使用DBCP获得数据库连接的方式。
//创建数据源对象
BasicDataSource ds =new BasicDataSource();
//设置连接数据库所需的驱动
ds.setDriverClassName("com.mysql.jdbc.Driver");
//设置连接数据库的URL
ds.setUrl("jdbc:mysql://localhost:3306/javaee");
//设置连接数据库的同户名
ds.setUsername("root");
//设置连接数据库的密码
ds.setPassword("pass");
//设置连接池的初始连接数
ds.setInitialSize(5);
//设置连接池最多可以有多少个连接数
ds.setMaxActive(20);
//设置连接池中最少有两个空闲连接
ds.setMinIdle(2);
数据源和数据库连接不同,数据源无须创建多个,她是产生数据库连接的工厂,因此整个应用只需要一个数据源即可,故对于一个应用,上述代码仅需执行一次。
建议:大ds对象设置为static成员变量,并且在应用开始是立即初始化数据源对象,程序中所有需要获取数据库连接的地方直接访问该ds对象,并获取数据库连接即可,当数据库访问结束后,需把数据库连接释放,归还给连接池,让其他客户端可以使用该连接。
//通过数据源获取数据库连接
Connection conn =ds.getConnection();
//释放数据库连接还给连接池
conn.close();
|
|