mysql数据库连接池使用(一)dbcp方式的配置

Apache的数据库连接池 DBCP的常用配置说明,因为项目中用到了需要对其封装,所以必须先了解怎么配置以及各个配置字段的含义,理解的基础上开发我们自己的数据库连接池。可以参考官网dbcp官网

dbcp的配置在下面的配置文件详细介绍

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <!--驱动的名称我用的mysql 所以配置的mysql的驱动名称  -->
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <!--数据库用户名名称  -->
        <property name="username" value="root" />
        <!--数据库的密码 我本地的密码空 所以不用配置  -->
        <property name="password" value="" />
        <!--  数据库连接池启动时创建的连接数量 我设置的是10个-->
        <property name="initialSize" value="10" />
        <!-- 池里不会被释放的最多空闲连接数量。设置为0时表示无限制。 -->
	    <property name="maxIdle" value="5" />
	    <!-- 在不新建连接的条件下,池中保持空闲的最少连接数。 -->
	    <property name="minIdle" value="5" />
	    <!--同一时间可以从池分配的最多连接数量。设置为0时表示无限制。  -->
	    <property name="maxActive" value="10" />
	    <!--  -->
	    <property name="removeAbandoned" value="true" />
	    <!-- 自动回收超时时间(以秒数为单位) -->
	    <property name="removeAbandonedTimeout" value="180" />
	    <!--超时等待时间以毫秒为单位-->
	    <property name="maxWait" value="3000" />
	    <!-- 默认的SQL语句自动提交状态(开启或关闭)设置由连接池本身设置(false由连接池定),不设置该值setAutoCommit方法不被调用; -->
	    <property name="defaultAutoCommit" value="false" />
	    <!--要求必需是个SELECT类型的SQL语句,至少返回一行,由于它会在所有应用的SQL语句执行之前运行一次,
	              所以原则上应该对数据库服务器带来的压力越小越好,推荐使用“SELECT 1”  -->
	    <property name="validationQuery">
	        <value>SELECT 1</value>
         </property>
         <!-- 表示从连接池中获取连接前是否运行validationQuery,true=运行[默认],false=不运行 -->
	    <property name="testOnBorrow">
	        <value>true</value>
	    </property>
	    <!--表示将连接归还连接池前是否运行validationQuery,true=运行,false=不运行[默认];  -->
	    <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>

思考的起点:

  1. xml如何读取比较方便。
  2. xml如何应该新需求变化xml结构变化。
  3. 读取后的xml内容如何封装。
  4. 程序如何能够访问conn 如何封装。
  5. 客户端如何能很容易的调用开发的功能。

  xml解析使用Apache
Commons Configuration
框架具体使用参考xml解析(common configuratin使用)。下一章节我们设计如何封装一个数据库连接池和解析的具体方法。

时间: 2024-11-08 20:57:07

mysql数据库连接池使用(一)dbcp方式的配置的相关文章

Tomcat 5.5 配置 MySQL 数据库连接池

mysql|数据|数据库|数据库连接 用了最新的几个咚咚,搞了整整一天终于搞清楚了Tomcat 5.5 配置 MySQL 数据库连接池,网上的经验并不能完全用到新环境里面,我写出整个过程以方便大家配置. 1 环境描述 JDK 1.5 Tomcat 5.5.4 MySQL 4.0.20 MySQL JDBC 3.0.15 Commons dbcp 1.2.1 2 准备工作 JDK, Tomcat, MySQL安装过程并非我的重点,略过. 从http://dev.mysql.com/download

Tomcat下配置MySQL数据库连接池

mysql|数据|数据库|数据库连接 经过大半天的实践和摸索,终于在Tomcat下成功地配置MySQL的数据库连接池.总结如下: 1.在$CATALINA_HOME/conf/server.xml中添加配置信息,声明连接池的具体信息,添加内容如下: <!--声明连接池--> <Resource name="jdbc/mysql"auth="Container" type="javax.sql.DataSource"/> &

mysql数据库连接池使用(二)实现自己的数据库连接池

上一个章节,我们讲了xml文件的解析框架XMLConfiguration的使用,不懂的可以参考 Apache Commons Configuration读取xml配置具体使用. 这个章节主要实现自己的数据库连接池,封装自己的BasicDataSource类.实现自己业务的数据池.下面开始我们的项目构建. 1.1.1. maven依赖. <dependency> <groupId>org.apache.commons</groupId> <artifactId>

mysql数据库连接池配置教程_Mysql

第一步:写javabean 复制代码 代码如下: package withouttears.jdbc.db; import java.util.HashMap; import java.sql.*; //JNDI有两个核心接口Context和DirContext, //Context中包含了基本的名字操作,而DirContext则将这些操作扩展到目录服务. import javax.naming.Context; import javax.naming.InitialContext; //数据库

Java数据库连接池的几种配置方法(以MySQL数据库为例)_java

一.Tomcat配置数据源: 前提:需要将连接MySQL数据库驱动jar包放进Tomcat安装目录中common文件夹下的lib目录中 1.方法一:在WebRoot下面建文件夹META-INF,里面建一个文件context.xml,如下: <?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/chaoshi" auth="

java使用dbcp2数据库连接池_java

在开发中中我们经常会使用到数据库连接池,比如dbcp数据库连接池,本章将讲解java连接dbcp数据库库连接池的简单使用. 开发工具myeclipse2014 1.首先创建一个web项目,我把项目名取名为testjdbc,需要带有web.xml的配置文件,进行servlet的配置,创建完成以后的项目结构如下: 2.创建包,我创建的包名是com.szkingdom.db 3.创建帮助类CastUtil,代码如下: package com.szkingdom.db; /** * Created by

Tomcat数据库连接池的配置方法总结

 数据库连接是一种关键的有限的昂贵的资源,这在多用户网页应用程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标,数据库连接池正是针对这个问题提出的. 数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏,这样可以明显提高对数据库操作的性能. 数据库连接池在初始化的时将创建一定数量的数据库连接放到连接

IIS+Resin集成多个站点和数据库连接池

做web开发一直都是使用Resin作为容器,配置起来非常的方便,启动和执行的速度都很快.Resin的官方站点说Resin自带的web服务器速度也非常之快,因此可以不用和apache or iis进行集成.当然,如果由于项目需要集成在一起也很正常.需要注意的是isapi_srun.dll的版本需要注意,有个resin版本带的这个文件如果和iis集成在一起的话,速度非常之慢.我用的3.0.23的,速度还可以接受.关于Resin如何和IIS集成,这里不谈了,网上可以找到很多.如果你想集成多个数据库连接

03_dbcp数据源依赖jar包,DBCP中API介绍,不同过dbcp方式使用dbcp数据库连接池,通过配置文件使用dbcp数据库连接池

 DBCP数据源 使用DBCP数据源,需要导入两个jar包 Commons-dbcp.jar:连接池的实现 Common-pool.jar:连接池实现的依赖库.   导入mysql的jar包.   DBCP核心API BasciDataSource   它可以通过实例化对象的方式获得一个对象. 它里面有如下方法: setDriverClassName(String driverClassName) 设置驱动类的名称. setInitialSize(int initialSize) 设置初始化