基于纯Java代码使用:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package demo.test;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
public class DBUtil {
private static DataSource ds = null ;
static {
try {
InputStream in = DBUtil. class .getClassLoader()
.getResourceAsStream( "ds.properties" );
Properties props = new Properties();
props.load(in);
ds = DruidDataSourceFactory.createDataSource(props);
} catch (Exception ex){
ex.printStackTrace();
}
}
public static Connection openConnection() throws SQLException{
return ds.getConnection();
}
} |
ds.properties内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
driverClassName = oracle.jdbc.driver.OracleDriver url = jdbc:oracle:thin: @127 .0. 0.1 : 1521 :ORCL
username = ****** password = ****** initialSize = 5
maxActive = 10
minIdle = 3
maxWait = 60000
removeAbandoned = true
removeAbandonedTimeout = 180
timeBetweenEvictionRunsMillis = 60000
minEvictableIdleTimeMillis = 300000
validationQuery = SELECT 1 FROM DUAL
testWhileIdle = true testOnBorrow = false
testOnReturn = false
poolPreparedStatements = true
maxPoolPreparedStatementPerConnectionSize = 50
filters = stat |
基于Spring的配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
< bean id = "druidDataSource" class = "com.alibaba.druid.pool.DruidDataSource"
init-method = "init" destroy-method = "close" >
<!-- 数据库基本信息配置 -->
< property name = "driverClassName" value = "${oracle.driver}" />
< property name = "url" value = "${oracle.url}" />
< property name = "username" value = "${oracle.username}" />
< property name = "password" value = "${oracle.password}" />
<!-- 初始化连接数量 -->
< property name = "initialSize" value = "${druid.initialSize}" />
<!-- 最大并发连接数 -->
< property name = "maxActive" value = "${druid.maxActive}" />
<!-- 最大空闲连接数 -->
< property name = "maxIdle" value = "${druid.maxIdle}" />
<!-- 最小空闲连接数 -->
< property name = "minIdle" value = "${druid.minIdle}" />
<!-- 配置获取连接等待超时的时间 --> < property name = "maxWait" value = "${druid.maxWait}" />
<!-- 超过时间限制是否回收 -->
< property name = "removeAbandoned" value = "${druid.removeAbandoned}" />
<!-- 超过时间限制多长; -->
< property name = "removeAbandonedTimeout" value = "${druid.removeAbandonedTimeout}" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
< property name = "timeBetweenEvictionRunsMillis" value = "${druid.timeBetweenEvictionRunsMillis}" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
< property name = "minEvictableIdleTimeMillis" value = "${druid.minEvictableIdleTimeMillis}" />
<!-- 用来检测连接是否有效的sql,要求是一个查询语句-->
< property name = "validationQuery" value = "${druid.validationQuery}" />
<!-- 申请连接的时候检测 -->
< property name = "testWhileIdle" value = "${druid.testWhileIdle}" />
<!-- 申请连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
< property name = "testOnBorrow" value = "${druid.testOnBorrow}" />
<!-- 归还连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
< property name = "testOnReturn" value = "${druid.testOnReturn}" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
< property name = "poolPreparedStatements" value = "${druid.poolPreparedStatements}" />
< property name = "maxPoolPreparedStatementPerConnectionSize" value = "${druid.maxPoolPreparedStatementPerConnectionSize}" />
<!--属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:
监控统计用的filter:stat
日志用的filter:log4j
防御SQL注入的filter:wall -->
< property name = "filters" value = "${druid.filters}" />
</ bean >
|
启用Web监控统计功能需要在Web应用的web.xml中加入以下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
< filter >
< filter-name >DruidWebStatFilter</ filter-name >
< filter-class >com.alibaba.druid.support.http.WebStatFilter</ filter-class >
< init-param >
< param-name >exclusions</ param-name >
< param-value >*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</ param-value >
</ init-param >
</ filter >
< filter-mapping >
< filter-name >DruidWebStatFilter</ filter-name >
< url-pattern >/*</ url-pattern >
</ filter-mapping >
< servlet >
< servlet-name >DruidStatView</ servlet-name >
< servlet-class >com.alibaba.druid.support.http.StatViewServlet</ servlet-class >
</ servlet >
< servlet-mapping >
< servlet-name >DruidStatView</ servlet-name >
< url-pattern >/druid/*</ url-pattern >
</ servlet-mapping >
|
访问监控页面:http://ip:port/projectName/druid/index.html
http://my.oschina.net/liu13430/blog/312188
相关推荐
使用Druid数据连接池连接PostgreSQL简单例子,搭建一个简单测试环境
Druid为监控而生的数据库连接池,它是阿里巴巴开源平台上的一个项目。Druid是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能.它可以替换DBCP和C3P0连接池。Druid提供了一个高效、功能强大、可...
druidDataSource 配置文档
druid连接池和jar包及其源代码,淘宝团队开发。
配置Druid连接池需要的jar包
基于阿里的druid连接池,自己把对国产数据库达梦的支持加上去了,支持了wall方式,暂时没发现什么问题 :) 使用方式同原版
JSP Spring中Druid连接池配置 jdbc.properties url=jdbc:postgresql://***.***.***.***:****/**** username=*** password=*** applicationContext.xml中配置bean <!-- 阿里 druid 数据库连接池 --> ...
DRUID连接池的实用 配置详解
druid下载 数据库连接池 内置三个jar包和一个配置文件 druid.properties druid-1.0.9.jar druid-1.0.9-javadoc.jar druid-1.0.9-sources.jar
idea配置两种连接池以及配置中间发现的区别和相同,需要注意的问题
多数据源配置,使用了数据库连接池,并且是多数据源,分也不要多了,2分,有什么疑问可以指出,或者不足也可以一起学习
Druid连接池的配置文件
通过SpringAop实现多数据源的动态切换 并采用Druid连接池,可扩展继续增加数据库配置。
阿里巴巴旗下开源产品,目前最好的数据库连接池详细配置极其所有属性。
Druid 连接池参数配置说明.html
druid相关资料包括druid.jar,和druid连接池的配置说明文档
用阿里巴巴Druid实现的一个简单连接池,高性能,高并发。
Spring-Boot通过druid连接池获取连接操作SQLServer数据库 总结:【共3步】 第1步:添加druid和MSSQL Driver的依赖项; 第2步:配置连接字符串; 第3步:创建数据库操作类,使用@Bean注入DruidDataSource, 然后根据...
主要给大家介绍了关于spring boot配置druid连接池的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧