简要说明: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 }

 

posted on 2010-02-01 19:44 Ying-er 阅读(1718) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: