簡要說明: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文件,賦予基本參數(shù)
1 #連接設(shè)置
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 #最大連接數(shù)量
17 dataSource.maxActive=100
18
19 #是否在自動回收超時連接的時候打印連接的超時錯誤
20 dataSource.logAbandoned=true
21
22 #是否自動回收超時連接
23 dataSource.removeAbandoned=true
24
25 #超時時間(以秒數(shù)為單位)
26 #設(shè)置超時時間有一個要注意的地方,超時時間=現(xiàn)在的時間-程序中創(chuàng)建Connection的時間,如果 maxActive比較大,比如超過100,那么removeAbandonedTimeout可以設(shè)置長一點比如180,也就是三分鐘無響應(yīng)的連接進(jìn)行回收,當(dāng)然應(yīng)用的不同設(shè)置長度也不同。
27 dataSource.removeAbandonedTimeout=180
28
29 #<!-- 超時等待時間以毫秒為單位 -->
30 #maxWait代表當(dāng)Connection用盡了,多久之后進(jìn)行回收丟失連接
31 dataSource.maxWait=1000
3. 文件目錄:

注意,要將屬性文件編譯到bin目錄下
4. 建立連接池
① 創(chuàng)建Properties對象
②讀取項目中的Properties文件封裝成字節(jié)流文件
③讓Properties對象讀取該字節(jié)流
④通過工廠模式創(chuàng)建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 閱讀(1726)
評論(0) 編輯 收藏