阿里druid连接池

1.加入jar包, 下载地址:druid-1.1.0.zip

2.ApplicationContext.xml

    <!-- druid阿里云连接池 -->
    <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    	<property name="dataSource" ref="dataSource"></property>
    </bean>
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    	<property name="locations" value="classpath:druidDB.properties"></property>
    </bean>

3.ApplicationContext.xml配置druid

<!-- 阿里 druid 数据库连接池 -->  
  <bean id = "dataSource" class = "com.alibaba.druid.pool.DruidDataSource" destroy-method = "close">    
       <!-- 数据库基本信息配置 -->  
       <property name = "url" value = "${url}"/>    
       <property name = "username" value = "${username}"/>    
       <property name = "password" value = "${password}"/>    
       <property name = "driverClassName" value = "${driverClassName}"/>    
       <property name = "filters" value = "${filters}"/>    
        <!-- 最大并发连接数 -->  
       <property name = "maxActive" value = "${maxActive}"/>  
       <!-- 初始化连接数量 -->  
       <property name = "initialSize" value = "${initialSize}"/>  
       <!-- 配置获取连接等待超时的时间 -->  
       <property name = "maxWait" value = "${maxWait}"/>  
       <!-- 最小空闲连接数 -->  
       <property name = "minIdle" value = "${minIdle}"/>    
       <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->  
       <property name = "timeBetweenEvictionRunsMillis" value ="${timeBetweenEvictionRunsMillis}"/>  
       <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->  
       <property name = "minEvictableIdleTimeMillis" value ="${minEvictableIdleTimeMillis}"/>    
       <property name = "validationQuery" value = "${validationQuery}"/>    
       <property name = "testWhileIdle" value = "${testWhileIdle}"/>    
       <property name = "testOnBorrow" value = "${testOnBorrow}"/>    
       <property name = "testOnReturn" value = "${testOnReturn}"/>    
       <property name = "maxOpenPreparedStatements" value ="${maxOpenPreparedStatements}"/>  
       <!-- 打开 removeAbandoned 功能 -->  
       <property name = "removeAbandoned" value = "${removeAbandoned}"/>  
       <!-- 1800 秒,也就是 30 分钟 -->  
       <property name = "removeAbandonedTimeout" value ="${removeAbandonedTimeout}"/>  
       <!-- 关闭 abanded 连接时输出错误日志 -->     
       <property name = "logAbandoned" value = "${logAbandoned}"/>  
  </bean >
 

4.druidDB.properties

url=jdbc:mysql://localhost:3306/blogdb?useUnicode=true&characterEncoding=utf-8
driverClassName=com.mysql.jdbc.Driver
username=Shinelon
password=lizhenghua
filters=stat
maxActive=20
initialSize=1
maxWait=60000
minIdle=10
maxIdle=15
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=300000
validationQuery=SELECT'x'
testWhileIdle=true
testOnBorrow=false
testOnReturn=false
maxOpenPreparedStatements=20
removeAbandoned=true
removeAbandonedTimeout=1800
logAbandoned=true

5.web.xml

<!-- 连接池 启用 Web 监控统计功能    start-->
    <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>
<!-- 连接池 启用 Web 监控统计功能    end-->

完毕!

原文地址:https://www.cnblogs.com/chenglee/p/7880396.html