溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

druid數(shù)據(jù)源配置和使用

發(fā)布時(shí)間:2020-07-12 08:34:29 來源:網(wǎng)絡(luò) 閱讀:1858 作者:zbzbzb022 欄目:軟件技術(shù)

好久沒更新技術(shù)博客了,以后這個(gè)博客從新啟用,用于實(shí)踐后的技術(shù)記錄。

接下來介紹一個(gè)druid數(shù)據(jù)源如何配置。

首先,在pom.xml中引入druid的依賴,應(yīng)該加上version,我是在parent中統(tǒng)一定義的version,建議使用中央倉庫中的穩(wěn)定版本。

<!-- druid connection pools -->
<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>druid</artifactId>
</dependency>

然后,是在spring上下文中進(jìn)行常規(guī)數(shù)據(jù)源的配置,配置文件格式如下:

<!-- druid 數(shù)據(jù)源配置 -->
<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數(shù)據(jù)源支持密碼保護(hù),使用下面的命令生成密碼保護(hù)

 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

最后為配置監(jiān)控頁面,在web.xml中配置監(jiān)控頁面

<!-- druid 監(jiān)控頁面 -->
 <servlet>
      <servlet-name>DruidStatView</servlet-name>
      <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
        <init-param>  
<!-- 允許清空統(tǒng)計(jì)數(shù)據(jù) -->  
<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數(shù)據(jù)源就配置完畢了。

下面可以進(jìn)行一些測試來驗(yàn)證配置的是否成功。

druid數(shù)據(jù)源配置和使用

還有一些常見問題,請(qǐng)參考官方的wiki

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI