`

commons DBCP 连接池

阅读更多

http://commons.apache.org/proper/commons-dbcp/

http://commons.apache.org/components.html

java 开源数据库连接池: http://www.open-open.com/20.htm  

 

 

http://blog.csdn.net/zllsdn/article/details/1398577

 

#连接设置

#sqlserver 2008

driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

url=jdbc:sqlserver://172.17.16.44:1433;DatabaseName=danone_cat

username=sa

password=Sa123456

#url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=danone_cat

#username=sa

#password=suzsoftjerry

 

#mysql

#driverClassName=com.mysql.jdbc.Driver

#url=jdbc:mysql://localhost:3306/danone

#username=root

#password=admin

 

#检查连接有效性的SQL语句

validationQuery=select 1

validationQueryTimeout=20

 

#初始化连接

initialSize=10

 

#最大连接数量

maxActive=20

 

#最大空闲连接

maxIdle=20

 

#最小空闲连接

minIdle=10

 

#超时等待时间以毫秒为单位 6000毫秒/1000等于60秒

maxWait=60000

 

#注意:"user" 与 "password" 两个属性会被明确地传递,因此这里不需要包含他们。

connectionProperties=useUnicode=true;characterEncoding=utf8

 

#指定由连接池所创建的连接的自动提交(auto-commit)状态。

defaultAutoCommit=true

 

#driver default 指定由连接池所创建的连接的只读(read-only)状态。

#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)

defaultReadOnly=

 

#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。

 

#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE

 

defaultTransactionIsolation=READ_COMMITTED

 

#回收被遗弃的(一般是忘了释放的)数据库连接到连接池中。   

dataBase.removeAbandoned=true

 

# 数据库连接过多长时间不用将被视为被遗弃而收回连接池中。     

dataBase.removeAbandonedTimeout=60

 

# 将被遗弃的数据库连接的回收记入日志。    

dataBase.logAbandoned=false

 

package com.danone.util;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import java.util.UUID;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSourceFactory;

public class JdbcUtil {
	private InputStream inStream;
	private static Properties pro = null;
	private DataSource datasource;
	public static JdbcUtil instance;

	private JdbcUtil() {
		inStream = this.getClass().getResourceAsStream("/jdbc.properties");
		pro = new Properties();
		try {
			pro.load(inStream);
			datasource = BasicDataSourceFactory.createDataSource(pro);
			inStream.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static JdbcUtil getJdbcUtil() {
		if (instance == null) {
			synchronized (JdbcUtil.class) {
				if (instance == null) {
					try {
						instance = new JdbcUtil();
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
			}
		}
		return instance;
	}

	public Connection getConnection() {
		try {
			return datasource.getConnection();
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException("获取数据库连接失败!");
		}
	}

	public void free(ResultSet rs, Statement sta, Connection conn) {
		try {
			if (rs != null) {
				rs.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (sta != null) {
					sta.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				if (conn != null) {
					try {
						conn.close();
					} catch (SQLException e) {
						e.printStackTrace();
					}
				}
			}
		}
	}

	public static String getUUID() {
		String id = UUID.randomUUID().toString();
		// 去掉“-”符号
		return id.replaceAll("-", "");
	}

	public static void main(String[] args) throws SQLException {
		Connection connection = JdbcUtil.getJdbcUtil().getConnection();
		if (connection != null) {
			connection.close();
		}
		System.out.println("连接成功");
	}
}

 

 

四个流行的Java连接池

 

C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。(主页:http://sourceforge.net/projects/c3p0/

BoneCP 是一个开源的快速的 JDBC 连接池。BoneCP很小,只有四十几K(运行时需要log4jGoogle Collections的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。另外个人觉得 BoneCP 有个缺点是,JDBC驱动的加载是在连接池之外的,这样在一些应用服务器的配置上就不够灵活。当然,体积小并不是 BoneCP 优秀的原因,BoneCP 到底有什么突出的地方呢,请看看性能测试报告。(主页:http://jolbox.com/

DBCP (Database Connection Pool)是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。目前 DBCP 有两个版本分别是 1.3 和 1.4。1.3 版本对应的是 JDK 1.4-1.5 和 JDBC 3,而1.4 版本对应 JDK 1.6 和 JDBC 4。因此在选择版本的时候要看看你用的是什么 JDK 版本了,功能上倒是没有什么区别。(主页:http://commons.apache.org/dbcp/

Proxool是一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能。(主页:http://proxool.sourceforge.net/

分享到:
评论

相关推荐

    commons中的DBCP连接池jar

    标题"commons中的DBCP连接池jar"指的是Apache Commons DBCP的Java归档文件(JAR),它是Java应用程序可执行的二进制格式。这些JAR文件包括: 1. `commons-dbcp-1.4-javadoc.jar`:这个文件包含了DBCP 1.4版本的API...

    dbcp连接池所需jar(commons-collections-3.1.jar,commons-dbcp-1.2.jar,commons-pool-1.6.)

    3. `commons-pool-1.6.jar`:Apache Commons Pool是通用的对象池服务,它是DBCP连接池依赖的基础。DBCP利用了Pool库来实现对象(这里是数据库连接)的池化管理,包括创建、分配、回收和销毁连接等操作。 使用DBCP...

    DBCP连接池所需jar包.rar

    3. **commons-pool-1.5.6.jar**:Apache Commons Pool是对象池设计模式的实现,DBCP连接池依赖于这个库来管理其内部的数据库连接对象。对象池允许开发者在应用程序中复用已经创建的对象,而不是每次需要时都创建新的...

    dbcp 连接池 jar包

    `commons-dbcp-1.4.jar`是DBCP连接池的主要库文件,包含了DBCP的实现类和相关工具。`commons-collections-3.2.1.jar`是Apache Commons Collections库,提供了各种集合操作的扩展,DBCP在管理连接时可能会用到。`...

    DBCP连接池所有jar包

    在Web项目开发中,DBCP连接池是不可或缺的一部分,因为它能够有效地管理数据库资源,避免频繁创建和关闭数据库连接,降低系统开销。 首先,让我们来了解一下DBCP的基本概念和工作原理。数据库连接池在初始化时会...

    mysql8 DBCP连接池jar依赖

    用于实现DBCP连接池所用的JAR依赖文件,包括数据库驱动及创建连接池所需的其他依赖: * commons-collections  * commons-dbcp2  * commons-logging  * commons-pool2  * mysql-connector

    dbcp连接池jar包

    标题中的“dbcp连接池jar包”指的是用于实现数据库连接池功能的Java库,即Commons DBCP的jar文件。这个jar包包含了DBCP所需的全部类和资源,开发者可以通过引入这个jar包到项目中,快速地集成数据库连接池功能。 ...

    DBCP连接池的jar包

    2. `commons-pool.jar`:Apache Commons Pool是对象池的通用实现,DBCP连接池依赖于它来管理和复用数据库连接。Commons Pool提供了一套完善的对象池服务,允许DBCP创建并维护一个数据库连接池,确保在需要时可以高效...

    DBCP连接池jar包

    DBCP(Database Connection Pool)是Apache软件基金会的Commons DBCP项目提供的一个数据库连接池组件,它在Java应用程序中用于管理和复用数据库连接。连接池是提高数据库应用性能的重要手段,通过预先创建并维护一定...

    c3p0与dbcp2连接池jar包

    包含两种连接池jar包:c3p0-0.9.1.jar和commons-collections4-4.1.jar、commons-dbcp2-2.1.1.jar、commons-logging-1.2.jar、commons-pool2-2.4.2.jar和dbcp与c3p0详细配置文档

    DBCP连接池jar资源包

    DBCP连接池jar资源包包含了实现这一功能所需的三个核心库文件:commons-collection.jar、commons-dbcp.jar和commons-pool.jar。 1. **commons-collection.jar**:这是Apache Commons Collections库,提供了大量对...

    dbcp数据库连接池所需jar包

    在Java中,Apache的Commons DBCP是一个常用的数据库连接池实现,它依赖于Apache的两个其他组件:Commons Logging和Commons Pool。 `commons-dbcp2-2.9.0.jar`是Apache Commons DBCP的最新版本2.9.0的JAR文件,它...

    DBCP数据库连接池

    4. **连接管理**:DBCP连接池会监控连接的状态,如果发现某个连接已经超时或者出现异常,会自动进行回收或重新建立,确保连接池中的连接始终处于可用状态。 5. **配置参数**:DBCP允许开发者通过配置参数来调整连接...

    dbcp连接池整合jar包

    里面包含了commons-collections-3.1.jar commons-dbcp-1.2.2.jar commons-pool.jar ojdbc6.jar commons-dbcp-1.2.2 连接池的实现 commons-pool 连接池的依赖库 ojdbc6 orcale数据库驱动 到手即用

    dbcp连接池所需包

    总的来说,"dbcp连接池所需包"包括`commons-dbcp.jar`和`commons-pool.jar`,它们是Spring框架中实现高效数据库连接管理的基础。通过使用DBCP,开发者可以创建一个高效的数据库连接池,从而提高应用的并发处理能力,...

    DBCP数据库连接池jar包.zip

    DBCP(Database Connection Pool)是Apache Commons项目中的一个数据库连接池组件,主要目的是为了提高数据库连接的复用性,减少创建和销毁连接的开销,从而提升应用的性能。DBCP2是其第二个主要版本,提供了更稳定...

    dbcp连接池和配置文件

    **DBCP连接池的工作原理:** 1. **初始化**:在应用程序启动时,DBCP会预先创建一定数量的数据库连接并放入连接池。 2. **请求连接**:当程序需要与数据库交互时,它向连接池请求一个连接。连接池检查是否有空闲的...

    dbcp连接池jar

    DBCP(Database Connection Pool)是Apache组织提供的一种开源数据库连接池组件,主要...总的来说,DBCP连接池是Java应用程序中用于高效管理数据库连接的重要工具,通过合理的配置和使用,可以显著提升系统运行效率。

Global site tag (gtag.js) - Google Analytics