DBCP——开源组件 的使用

本文介绍如何使用DBCP开源组件配置数据库连接池。包括所需Jar包、配置文件dbcpconfig.properties的内容详解及连接池的初始化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DBCP——开源组件,将原Conection包裹了起来

1.       需要用到三个Jar包:

commons-collections-3.2.1.jar

commons-dbcp-1.2.2.jar

commons-pool-1.5.2.jar


2. 编写dbcpconfig.properties文件,赋予基本参数

 

 1  #连接设置
 2  driverClassName = org.gjt.mm.mysql.Driver
 3  url = jdbc:mysql:// 127.0.0.1 /test
 4  username = root
 5  password = 1234
 6 
 7  #<!-- 初始化连接 -->
 8  dataSource.initialSize = 20
 9 
10  #<!-- 最大空闲连接 -->
11  dataSource.maxIdle = 20
12 
13  #<!-- 最小空闲连接 -->
14  dataSource.minIdle = 5
15 
16  #最大连接数量
17  dataSource.maxActive = 100
18 
19  #是否在自动回收超时连接的时候打印连接的超时错误
20  dataSource.logAbandoned = true
21 
22  #是否自动回收超时连接
23  dataSource.removeAbandoned = true
24 
25  #超时时间(以秒数为单位)
26  #设置超时时间有一个要注意的地方,超时时间 = 现在的时间-程序中创建Connection的时间,如果 maxActive比较大,比如超过100,那么removeAbandonedTimeout可以设置长一点比如180,也就是三分钟无响应的连接进行回收,当然应用的不同设置长度也不同。
27  dataSource.removeAbandonedTimeout = 180
28 
29  #<!-- 超时等待时间以毫秒为单位 -->
30  #maxWait代表当Connection用尽了,多久之后进行回收丢失连接
31  dataSource.maxWait = 1000

3. 文件目录:

注意,要将属性文件编译到bin目录下

4. 建立连接池

 创建Properties对象

读取项目中的Properties文件封装成字节流文件

Properties对象读取该字节流

通过工厂模式创建DataSource

使用方法:
 1  package  com.linying.util;
 2 
 3  import  java.io.InputStream;
 4  import  java.sql.Connection;
 5  import  java.sql.SQLException;
 6  import  java.util.Properties;
 7 
 8  import  javax.sql.DataSource;
 9 
10  import  org.apache.commons.dbcp.BasicDataSourceFactory;
11  public   final   class  JDBCUtil{
12       private   static  DataSource myDataSource = null ;
13       private  JDBCUtil(){
14          
15      }
16       static  {
17           try {
18              Properties pro = new  Properties();
19              InputStream is = JDBCUtil. class .getClassLoader().getResourceAsStream( " dbcpconfig.properties " );
20              pro.load(is);
21              myDataSource = BasicDataSourceFactory.createDataSource(pro);
22          }
23           catch (Exception e){
24              
25          }
26      }
27       public   static  Connection getConnection() throws  SQLException{
28           return  myDataSource.getConnection();
29      }
30  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值