您的位置:首页 > 产品设计 > UI/UE

druid数据源配置和使用

2017-08-11 10:43 399 查看
好久没更新技术博客了,以后这个博客从新启用,用于实践后的技术记录。

接下来介绍一个druid数据源如何配置。
首先,在pom.xml中引入druid的依赖,应该加上version,我是在parent中统一定义的version,建议使用中央仓库中的稳定版本。
<!-- druid connection pools -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
然后,是在spring上下文中进行常规数据源的配置,配置文件格式如下:

<!-- druid 数据源配置 -->
<bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter">
<property name="slowSqlMillis" value="10000" />
<property name="logSlowSql" value="true" />
</bean>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="url" value="${jdbc.jdbcUrl}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="filters" value="log4j,config,wall" />
<property name="proxyFilters">
<list>
<ref bean="stat-filter" />
</list>
</property>
<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${jdbc.publickey}" />

<property name="maxActive" value="20" />
<property name="initialSize" value="1" />
<property name="maxWait" value="60000" />
<property name="useUnfairLock" value="true"/>
<property name="minIdle" value="1" />

<property name="timeBetweenEvictionRunsMillis" value="60000" />
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<property name="poolPreparedStatements" value="true" />
<property name="maxOpenPreparedStatements" value="20" />
</bean>
<context:property-placeholder location="classpath:jdbc.properties" /> 加载property配置文件
接下来配置property文件,druid数据源支持密码保护,使用下面的命令生成密码保护
java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools you_password

jdbc.driver=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://10.10.5.204:3306/v3?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.publickey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOMUL6IbPTQkUcWoZSVROIEcgTAArcLP2rtNFaahm38PYqWVE92apcMqt0YxzTVSilGgUwIul9f5ZhvzpWGap4sCAwEAAQ==
jdbc.password=kBJz+ij4HbnU4caQ6iJIBJtEDBHKXZoUsSSbhOSHzY0tRrMNOWcPZV/EIrlvAn+4lHQv7FfvhL6Z0CiUNY0ZmQ==
jdbc.maxActive=8
最后为配置监控页面,在web.xml中配置监控页面
<!-- druid 监控页面 -->
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
<init-param>
<!-- 允许清空统计数据 -->
<param-name>resetEnable</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<!-- 用户名 -->
<param-name>loginUsername</param-name>
<param-value>genilex</param-value>
</init-param>
<init-param>
<!-- 密码 -->
<param-name>loginPassword</param-name>
<param-value>123456</param-value>
</init-param>
<!-- 白名单
<init-param>
<param-name>allow</param-name>
<param-value>172.16.40.244</param-value>
</init-param> -->
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
以上druid数据源就配置完毕了。
下面可以进行一些测试来验证配置的是否成功。



还有一些常见问题,请参考官方的wiki https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  连接池 druid