mysql数据库连接池使用(一)dbcp方式的配置
来源:互联网 发布:中国经济动能知乎 编辑:程序博客网 时间:2024/06/06 07:38
Apache的数据库连接池 DBCP的常用配置说明,因为项目中用到了需要对其封装,所以必须先了解怎么配置以及各个配置字段的含义,理解的基础上开发我们自己的数据库连接池。可以参考官网dbcp官网。
dbcp的配置在下面的配置文件详细介绍
- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
-
- <property name="driverClassName" value="com.mysql.jdbc.Driver" />
-
- <property name="username" value="root" />
-
- <property name="password" value="" />
-
- <property name="initialSize" value="10" />
-
- <property name="maxIdle" value="5" />
-
- <property name="minIdle" value="5" />
-
- <property name="maxActive" value="10" />
-
- <property name="removeAbandoned" value="true" />
-
- <property name="removeAbandonedTimeout" value="180" />
-
- <property name="maxWait" value="3000" />
-
- <property name="defaultAutoCommit" value="false" />
- <!--要求必需是个SELECT类型的SQL语句,至少返回一行,由于它会在所有应用的SQL语句执行之前运行一次,
- 所以原则上应该对数据库服务器带来的压力越小越好,推荐使用“SELECT 1” -->
- <property name="validationQuery">
- <value>SELECT 1</value>
- </property>
-
- <property name="testOnBorrow">
- <value>true</value>
- </property>
-
- <property name="testOnReturn">
- <value>false</value>
- </property>
- </bean>
自定义解析xmld对应的配置xml信息。
- <?xml version="1.0" encoding="UTF-8"?>
- <da2s-configuration>
- <DefaultConnectionPool>3000</DefaultConnectionPool>
- <connectionPool name="3000">
- <dbtype>MYSQL</dbtype>
- <driverClassName>com.mysql.jdbc.Driver</driverClassName>
- <url>jdbc:mysql://localhost:3306/springok</url>
- <username>root</username>
- <password></password>
- <datasourceProperty>
- <defaultAutoCommit>false</defaultAutoCommit>
- <initialSize>10</initialSize>
- <maxActive>10</maxActive>
- <maxIdle>5</maxIdle>
- <minIdle>5</minIdle>
- <maxWait>3000</maxWait>
- <validationQuery>select 1</validationQuery>
- <testOnBorrow>true</testOnBorrow>
- <removeAbandoned>true</removeAbandoned>
- <removeAbandonedTimeout>180</removeAbandonedTimeout>
- <logAbandoned>true</logAbandoned>
- </datasourceProperty>
- </connectionPool>
-
- <connectionPool name="5000">
- <dbtype>MYSQL</dbtype>
- <driverClassName>com.mysql.jdbc.Driver</driverClassName>
- <url>jdbc:mysql://localhost:3306/springok</url>
- <username>root</username>
- <password></password>
- <datasourceProperty>
- <defaultAutoCommit>false</defaultAutoCommit>
- <initialSize>10</initialSize>
- <maxActive>10</maxActive>
- <maxIdle>5</maxIdle>
- <minIdle>5</minIdle>
- <maxWait>3000</maxWait>
- <validationQuery>select 1</validationQuery>
- <testOnBorrow>true</testOnBorrow>
- <removeAbandoned>true</removeAbandoned>
- <removeAbandonedTimeout>180</removeAbandonedTimeout>
- <logAbandoned>true</logAbandoned>
- </datasourceProperty>
- </connectionPool>
- </da2s-configuration>
思考的起点:
- xml如何读取比较方便。
- xml如何应该新需求变化xml结构变化。
- 读取后的xml内容如何封装。
- 程序如何能够访问conn 如何封装。
- 客户端如何能很容易的调用开发的功能。
xml解析使用Apache Commons Configuration框架具体使用参考xml解析(common configuratin使用)。下一章节我们设计如何封装一个数据库连接池和解析的具体方法。