`
jiajunde
  • 浏览: 169731 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

c3p0-0.9.1.2数据库连接池

阅读更多

C3PO是一个开放源代码的JDBC数据源实现项目,它在lib目录中与Hibernate一起发布,实现了JDBC3和JDBC2扩展规范说明的Connection和Statement池.C3PO类包位于<附件中/lib/c3p0/c3p0-0.9.1.2.jar>,配置Oracle数据源:

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.mchange.v2.c3p0.DataSources;

public class Test {
	public static void main(String[] args) {
		ComboPooledDataSource cpds = new ComboPooledDataSource();
		try {
			// 数据源进行各种有效的控制:
			// 设置驱动
			cpds.setDriverClass("oracle.jdbc.driver.OracleDriver");
			// 设置数据库URL
			cpds.setJdbcUrl("jdbc:oracle:thin:@10.2.4.77:1521:ORCL");
			// 设置用户名
			cpds.setUser("**********");
			// 设置密码
			cpds.setPassword("**********");
			// 当连接池中的连接用完时,C3PO一次性创建新的连接数目;
			cpds.setAcquireIncrement(3);
			// 定义在从数据库获取新的连接失败后重复尝试获取的次数,默认为30;
			cpds.setAcquireRetryAttempts(30);
			// 两次连接中间隔时间默认为1000毫秒
			cpds.setAcquireRetryDelay(1000);
			// 连接关闭时默认将所有未提交的操作回滚 默认为false;
			cpds.setAutoCommitOnClose(false);
			// 获取连接失败将会引起所有等待获取连接的线程异常,但是数据源仍有效的保留,并在下次调用getConnection()的时候继续尝试获取连接.如果设为true,那么尝试获取连接失败后该数据源将申明已经断开并永久关闭.默认为false
			cpds.setBreakAfterAcquireFailure(false);
			// 当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,如设为0则无限期等待.单位毫秒,默认为0
			cpds.setCheckoutTimeout(0);
			// 隔多少秒检查所有连接池中的空闲连接,默认为0表示不检查;
			cpds.setIdleConnectionTestPeriod(0);
			// 初始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值.默认为3
			cpds.setInitialPoolSize(10);
			// 最大空闲时间,超过空闲时间的连接将被丢弃.为0或负数据则永不丢弃.默认为0;
			cpds.setMaxIdleTime(0);
			// 连接池中保留的最大连接数据.默认为15
			cpds.setMaxPoolSize(20);
			// JDBC的标准参数,用以控制数据源内加载的PreparedStatement数据.但由于预缓存的Statement属于单个Connection而不是整个连接池.所以设置这个参数需要考滤到多方面的因素,如果maxStatements
			// 与maxStatementsPerConnection均为0,则缓存被关闭.默认为0;
			cpds.setMaxStatements(0);
			// 连接池内单个连接所拥有的最大缓存被关闭.默认为0;
			cpds.setMaxStatementsPerConnection(0);
			// C3P0是异步操作的,缓慢的JDBC操作通过帮助进程完成.扩展这些操作可以有效的提升性能,通过多数程实现多个操作同时被执行.默为为3
			cpds.setNumHelperThreads(3);
			// 用户修改系统配置参数执行前最多等待的秒数.默认为300;
			cpds.setPropertyCycle(300);
			// 获取数据连接
			Connection conn = cpds.getConnection();
			if ( conn != null) {
				System.out.println("OK");
				// 关闭连接,当前连接被连接池收回
				conn.close();
			}

		} catch (PropertyVetoException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				//关闭数据连接池
				DataSources.destroy(cpds);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

 

 注意除了导入c3p0-0.9.1.2.jar外还要导放log4j的包和数据库驱动包.

分享到:
评论

相关推荐

    c3p0数据库连接池所需jar包c3p0-oracle-thin-extras-0.9.1.2.rar

    c3p0数据库连接池所需jar包,c3p0数据库连接池所需jar包c3p0-oracle-thin-extras-0.9.1.2、c3p0-0.9.1.2.jar、c3p0-0.9.1.2-jdk1.3.jar  1、首先在项目下创建一个文件夹,保存我们的jar包。在项目名上右击,依次...

    数据连接jar包c3p0-0.9.1.2.jar

    《c3p0-0.9.1.2.jar:数据库连接池的高效管理》 在IT行业中,数据库连接管理是任何应用系统的基础,尤其是在处理大量并发请求时,高效的数据库连接池至关重要。c3p0-0.9.1.2.jar就是这样一个专门用于管理数据库连接...

    c3p0-0.9.1.2源码及jar包

    通过深入学习C3P0的源码,开发者可以了解到其如何实现连接的获取、释放、检测以及连接池的维护策略,这对于理解数据库连接池的工作原理,优化数据库访问性能,甚至进行二次开发都是非常有价值的。如果你在实际开发中...

    c3p0-0.9.1.2-jdk1.3.jar

    【c3p0-0.9.1.2-jdk1.3.jar】是一个Java库,主要用于数据库连接池管理。c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。这个版本(0.9.1.2)是针对Java 1.3版本优化的,...

    c3p0-0.9.1.2.jar

    C3p0是一个开源的Java数据库连接池,全称为com.mchange.v2.c3p0,它由MChange Software公司开发。这个"C3p0-0.9.1.2.jar"是c3p0的一个特定版本,版本号为0.9.1.2,包含了该版本的所有功能和修复的已知问题。数据库...

    c3p0-0.9.1.2.bin-src.rar

    总的来说,c3p0-0.9.1.2.bin-src.rar是学习和使用c3p0数据库连接池的全面资源,包含了运行所需的库、源代码以及详细文档,对于Java开发者而言,无论是初学者还是经验丰富的工程师,都是值得深入了解和研究的工具。

    mysql连接池jar包支持c3p0-0.9.1.2与xml配置文件

    在这个主题中,我们将深入探讨C3P0连接池的版本0.9.1.2以及如何通过XML配置文件进行设置。 C3P0的主要功能包括自动管理数据库连接,避免频繁创建和关闭连接导致的资源浪费,同时提供了连接池的扩展性和灵活性。在...

    C3P0-0.9.1.2的jar包及源码

    开发者可以将这个jar包引入到他们的项目中,通过添加依赖来使用C3P0的功能,如数据库连接池的管理和维护。然而,描述中提到这个jar包内缺少部分类的源码,这可能意味着对于某些特定的内部实现,用户无法直接查看源...

    c3p0-0.9.5.2及依赖文件和mysql-connector

    版本`0.9.5.2`是c3p0的一个稳定版本,提供了许多特性,如自动检测空闲连接、连接测试、连接池扩展等,以提升数据库连接的性能和可靠性。 `c3p0`的核心组件包括: 1. **连接池**: 管理数据库连接,避免频繁创建和...

    c3p0-0.9.1.2

    **c3p0-0.9.1.2** 是一个知名的开源数据库连接池组件,主要用于Java应用程序中,提供高效、稳定和可扩展的数据库连接管理。它的版本号0.9.1.2表明这是一个较早的版本,尽管如此,它在很多旧项目中仍然被广泛使用。 ...

    c3p0-0.9.1.2.jar&mysql;-connector-java-5.1.39-bin.jar

    `c3p0-0.9.1.2.jar`是C3P0连接池的实现库,这是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的主要功能包括: 1. **连接池管理**:C3P0可以管理和维护数据库连接,避免...

    c3p0-0.9.1.2.zip

    总的来说,C3P0是Java开发中一个实用的数据库连接池组件,它为Java应用提供了高效的数据库连接管理,并具有广泛的社区支持和成熟的集成方案。通过合理配置和选择适合的版本,开发者可以充分利用C3P0来优化数据库访问...

    c3p0--0.9.1.2.src.rar

    下面将详细探讨C3P0的核心功能、工作原理以及其在数据库连接池中的作用。 一、C3P0概述 1. 定位:C3P0是一个JDBC连接池实现,主要目标是提供一个健壮、灵活且高效的数据库连接管理工具,适用于中大型Java应用。 2...

    数据库连接池的专用jar包c3p0-0.9.1.2.jar

    通过c3p0连接池jar包可以连接到数据库, C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

    c3p0-0.9.1.2.rar

    《c3p0-0.9.1.2:Java数据库连接池的高效管理》 在Java编程领域,数据库连接的管理和优化是提高系统性能的关键环节。c3p0,全称为c3p0-0.9.1.2,是一款广泛使用的开源JDBC连接池,它提供了一种高效、灵活的方式来...

    c3p0-0.9.1.2.bin

    C3P0是一个开源的JDBC连接...总的来说,C3P0是一个强大的数据库连接池实现,为Java应用提供了高效、稳定的数据库连接管理方案。正确配置和使用C3P0,可以显著提升应用在高并发环境下的性能,并降低数据库操作的复杂性。

Global site tag (gtag.js) - Google Analytics