druid数据源配置和使用

好久没更新技术博客了,以后这个博客从新启用,用于实践后的技术记录。

接下来介绍一个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数据源就配置完毕了。

下面可以进行一些测试来验证配置的是否成功。

druid数据源配置和使用

还有一些常见问题,请参考官方的wiki

https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/193697.html

(0)
上一篇 2021年11月15日
下一篇 2021年11月15日

相关推荐

发表回复

登录后才能评论