阿里巴巴推出的國產數據庫連接池,據網上測試對比,比目前的DBCP或C3P0數據庫連接池性能更好
可以監控連接以及執行的SQL的情況。
加入項目的具體步驟:
1、導入jar
<parent> <groupId>com.alibaba</groupId> <artifactId>parent-pom</artifactId> <version>1.0.0-SNAPSHOT</version> </parent>
2、在applicationContext-resources.xml 配置數據庫連接池,以mysql數據庫為例<!-- druid DataSource for J2EE environments -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/XXX" /> <property name="username" value="root" /> <property name="password" value="root" /> <property name="maxActive" value="20" /> <property name="initialSize" value="1" /> <property name="maxWait" value="60000" /> <property name="minIdle" value="1" /> <property name="timeBetweenEvictionRunsMillis" value="3000" /> <property name="minEvictableIdleTimeMillis" value="300000" /> <property name="validationQuery" value="SELECT 'x' FROM DUAL" /> <property name="testWhileIdle" value="true" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <!-- mysql 不支持 poolPreparedStatements--> <!--<property name="poolPreparedStatements" value="true" />--> <!--<property name="maxPoolPreparedStatementPerConnectionSize" value="20" />--> <!-- 開啟Druid的監控統計功能 --> <property name="filters" value="stat" /> </bean>
3、配置內置監控
<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>
4、通過訪問druid/index.html 可以查看項目的運行情況,也可以分析SQL語句的執行情況,便於調優。
項目地址:https://github.com/alibaba/druid
目前最新版本為1.0.11
百度發現該連接池存在一些問題,開發測試環境可以使用,正式環境還是用成熟點的比較靠譜