参考资料
Druid介绍
Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了其他数据库连接池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池,据说是目前最好的连接池。
Maven依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid_version}</version>
</dependency>
配置参数
配置 | 参数说明 |
---|---|
name | 如果存在多个数据源,监控的时候可以通过名字来区分开来。 |
jdbcUrl | 连接数据库的url。 |
username | 连接数据库的用户名。 |
password | 连接数据库的密码。 |
driverClassName | 数据库驱动类名字 |
initialSize | 初始化时建立物理连接的个数。 |
maxActive | 最大连接池数量,默认8。 |
maxIdle | 最大连接空闲数。超过该数,连接就会被回收(已不可用)。 |
minIdle | 最小连接空闲数量。 |
maxWait | 获取连接时最大等待时间,单位毫秒。 |
validationQuery | 用来检测连接是否有效的sql,要求是一个查询语句。 |
testOnBorrow | 申请连接时执行validationQuery检测连接是否有效,会降低性能。 |
testOnReturn | 归还连接时执行validationQuery检测连接是否有效,会降低性能。 |
testWhileIdle | 建议配置为true,申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 |
timeBetweenEvictionRunsMillis | 多久才进行一次检测,检测需要关闭的空闲连接,单位毫秒。 |
minEvictableIdleTimeMillis | 一个连接在池中最小生存的时间,单位是毫秒。 |
filters | 监控统计filters:stat,日志filters:log4j,防御sql注入filters:wall。 |