您的位置:首页 > 其它

DBCP——开源组件 的使用

2014-12-16 20:45 447 查看
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 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: