日期:2014-05-16 浏览次数:20640 次
首先,下载必须的jar包
dbcp包:http://jakarta.apache.org/commons/dbcp/
pool包:http://jakarta.apache.org/commons/pool/,
如果下载的pool包是1.2的版本,还要下载common-collections包:
username : 连接用户名
password: 连接密码
url : 连接 url( 如果连接 mysql ,格式为 jdbc:mysql://ip:port/dbname)
driverClassName : jdbc driver 名字 ( 如果是 mysql ,则为com.mysql.jdbc.Driver)
connectionProperties : 当建立一个数据库连接的时候,这些属性参数将传给 jdbc driver ,参数的形式必须是 [propertyName=property;]* 。
注: username 和 password 必须明确的传给 driver, 不必包含在这个属性中。
initialSize : 默认值是 0, 连接池创建连接的初始连接数目
maxActive : 默认值是 8, 连接池中同时可以分派的最大活跃连接数
maxIdle : 默认是 8 ,连接池中最大空闲连接数
minIdle : 默认是 0, 连接数中最小空闲连接数
maxWait : 默认值是无限大,当连接池中连接已经用完了,等待建立一个新连接的最大毫秒数 ( 在抛异常之前 )
validationQuery : 一条 sql 语句,用来验证数据库连接是否正常。这条语句必须是一个查询模式,并至少返回一条数据。一般用“ select 1 ”
testOnBorrow : 默认值是 true ,当从连接池取连接时,验证这个连接是否有效
testOnReturn : 默认值是 flase, 当从把该连接放回到连接池的时,验证这个连接是否有效
testWhileIdle : 默认值是 false, 当连接池中的空闲连接是否有效
timeBetweenEvictionRunsMilis : 默认值是 -1 ,每隔一段多少毫秒跑一次回收空闲线程的线程
numTestsPerEvictionRun : 默认值是 3 ,每次验证空闲连接的连接数目
minEvictableIdleTimeMilis : 默认值是 1000 * 60 * 30(30 分钟 ) ,连接池中连接可空闲的时间
connectionInitSqls : 默认值是 null, 一组用来初始化连接的 sql 语句,这些语句只在连接工厂创建连接时执行一次。
removeAbandoned : 默认值是 false, 是否清理 removeAbandonedTimeout 秒没有使用的活动连接 , 清理后并没有放回连接池
removeAbandonedTimeout : 默认值是 300( 秒 ), 活动连接的最大空闲时间
logAbandoned : 默认值 false, 连接池收回空闲的活动连接时是否打印消息
注:
1. 红色字体的属性一般都会设置
2. minEvictableIdleTimeMilis,removeAbandonedTimeout 这两个参数针对的连接对象不一样,minEvictableIdleTimeMillis 针对连接池中的连接对象 ,removeAbandonedTimeout 针对未被 close 的活动连接 (被调用,不在池中的连接对象 )
3. maxWait 、 timeBetweenEvictionRunsMilis 、 minEvictableIdleTimeMilis 单位是毫秒,removeAbandonedTimeout 单位是秒