簡要說明:DBCP——開源組件,將原Conection包裹了起來

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

          3. 文件目錄:

          注意,要將屬性文件編譯到bin目錄下

          4. 建立連接池

          創(chuàng)建Properties對(duì)象

          讀取項(xiàng)目中的Properties文件封裝成字節(jié)流文件

          Properties對(duì)象讀取該字節(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 閱讀(1728) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 大关县| 阜新市| 延庆县| 老河口市| 黄大仙区| 司法| 龙南县| 荥阳市| 奉贤区| 临洮县| 湖北省| 郁南县| 黄骅市| 婺源县| 民丰县| 蕲春县| 喜德县| 嘉义市| 麦盖提县| 温州市| 伊春市| 慈溪市| 新巴尔虎右旗| 玉林市| 浦城县| 昌邑市| 寻乌县| 隆化县| 娱乐| 邢台市| 黄冈市| 县级市| 黄平县| 盘山县| 伊通| 望奎县| 来凤县| 苗栗县| 东乌珠穆沁旗| 弥勒县| 扶风县|