项目使用druid连接池

来源:互联网 发布:柯南帅气 知乎 编辑:程序博客网 时间:2024/06/04 23:32
步骤一 :pom.xml 
 <!--jar package ofdruid  configuration-->
                <dependency>
              <groupId>com.alibaba</groupId>
              <artifactId>druid</artifactId>
              <version>1.0.24</version>
          </dependency>

步骤二:   applicationContext.xml
 <!-- 阿里druid 数据库连接池 --> 
<beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"
           init-method="init"destroy-method="close">
           <!-- 数据库基本信息配置 -->
           <propertyname="driverClassName"value="${driverClassName}"/>
           <propertyname="url"value="${url}"/>
           <propertyname="username"value="${username}"/>
           <propertyname="password"value="${password}"/>           
           <!-- 初始化连接数量 -->
           <propertyname="initialSize"value="${initialSize}"/>
           <!-- 最大并发连接数 -->
           <propertyname="maxActive"value="${maxActive}"/>
           <!-- 最大空闲连接数 -->
           <propertyname="maxIdle"value="${maxIdle}"/>
           <!-- 最小空闲连接数 -->
           <propertyname="minIdle"value="${minIdle}"/>
           <!-- 配置获取连接等待超时的时间 -->           
           <propertyname="maxWait"value="${maxWait}"/>
           <!-- 超过时间限制是否回收 -->
           <propertyname="removeAbandoned"value="${removeAbandoned}"/>
           <!-- 超过时间限制多长; -->
           <propertyname="removeAbandonedTimeout"value="${removeAbandonedTimeout}"/>
           <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
           <propertyname="timeBetweenEvictionRunsMillis"value="${timeBetweenEvictionRunsMillis}"/>
           <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
           <propertyname="minEvictableIdleTimeMillis"value="${minEvictableIdleTimeMillis}"/>
           <!-- 用来检测连接是否有效的sql,要求是一个查询语句-->     
           <propertyname="validationQuery"value="${validationQuery}"/>
           <!-- 申请连接的时候检测 -->
           <propertyname="testWhileIdle"value="${testWhileIdle}"/>
           <!-- 申请连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
           <propertyname="testOnBorrow"value="${testOnBorrow}"/>
           <!-- 归还连接时执行validationQuery检测连接是否有效,配置为true会降低性能  -->
           <propertyname="testOnReturn"value="${testOnReturn}"/>
           <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
           <propertyname="poolPreparedStatements"value="${poolPreparedStatements}"/>       
           <propertyname="maxPoolPreparedStatementPerConnectionSize"value="${maxPoolPreparedStatementPerConnectionSize}"/>
           <!--属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:                     
                     监控统计用的filter:stat
                     日志用的filter:log4j
                     防御SQL注入的filter:wall -->
           <propertyname="filters"value="${filters}"/>       
     </bean>

步骤三:jdbc.properties
       
driverClassName =oracle.jdbc.driver.OracleDriver
url =jdbc:oracle:thin:@127.0.0.1:1521:ORCL
username =apm
password =root
initialSize =5
maxActive =10
minIdle =3
maxIdle =10
maxWait =60000
removeAbandoned =true
removeAbandonedTimeout =180
timeBetweenEvictionRunsMillis =60000
minEvictableIdleTimeMillis =300000
validationQuery =SELECT1FROMDUAL
testWhileIdle =true
testOnBorrow =false
testOnReturn =false
poolPreparedStatements =true
maxPoolPreparedStatementPerConnectionSize =50
filters =stat

步骤四: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--> 
   

监控的url为: http://localhost:8888/xxzx/druid/index.html
原创粉丝点击