`
蒲冬英的约定
  • 浏览: 124443 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

C3P0连接池配置

 
阅读更多
1.新建c3p0.properties文件,放到src目录下,c3p0.properties文件样例
c3p0.jdbcUrl=jdbc:oracle:thin:@127.0.0.1:1521:orcl
c3p0.driverClass=oracle.jdbc.driver.OracleDriver
c3p0.user=test
c3p0.password=test

c3p0.acquireIncrement=3	
c3p0.idleConnectionTestPeriod=60	
c3p0.initialPoolSize=10	
c3p0.maxIdleTime=60	
c3p0.maxPoolSize=20	
c3p0.maxStatements=100	
c3p0.minPoolSize=5	

2.新建C3P0获取连接公共类
public class MyC3P0Utils{
	private static DataSource ds;

	private static ThreadLocal<Connection> tl = new ThreadLocal<Connection>();
	static {
		ds = new ComboPooledDataSource();//直接使用即可,不用显示的配置,其会自动识别配置文件
	}

	public static DataSource getDataSource() {
		return ds;
	}

	public static Connection getConnection() {
		try {
//			 得到当前线程上绑定的连接
			Connection conn = tl.get();
			if (conn == null) { // 代表线程上没有绑定连接
				conn = ds.getConnection();
				tl.set(conn);
			}
			return conn;
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}

	public static void startTransaction() {
		try {
			// 得到当前线程上绑定连接开启事务
			Connection conn=getConnection();
			conn.setAutoCommit(false);
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}

	public static void commitTransaction() {
		try {
			Connection conn = tl.get();
			if (conn != null) {
				conn.commit();
			}
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}

	public static void closeConnection() {
		try {
			Connection conn = tl.get();
			if (conn != null) {
				conn.close();
			}
		} catch (Exception e) {
			throw new RuntimeException(e);
		} finally {
			tl.remove(); // 千万注意,解除当前线程上绑定的链接(从threadlocal容器中移除对应当前线程的链接)
		}
	}
}

3.导入C3P0相关jar包
分享到:
评论

相关推荐

    c3p0连接池配置

    c3p0连接池配置, 个人找了很多资料 都在.txt里面,有项目完整配置,解释,还有一些相关网站资料等

    c3p0连接池配置使用

    **c3p0连接池配置使用** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。使用c3p0连接池可以有效地管理和优化数据库连接,提高系统的性能和稳定性。下面将详细介绍c3p0的...

    C3P0连接池配置需要的jar包

    配置C3P0连接池时,开发者通常需要在配置文件(如Hibernate的`hibernate.cfg.xml`或Spring的`applicationContext.xml`)中指定以下参数: - `driver_class`: 数据库驱动类名,例如`com.mysql.jdbc.Driver`。 - `...

    C3P0连接池配置详解C3P0连接池配置详解

    ### C3P0连接池配置详解 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定、支持JDBC标准的DataSource接口等。C3P0可以有效地管理和重用数据库连接,减少数据库连接创建和销毁带来的性能损耗。本文将详细介绍...

    C3P0连接池配置.doc

    C3P0连接池的配置涉及到多个方面,用于优化数据库连接的创建、管理和维护。 1. **acquireIncrement**:当连接池中的连接耗尽时,C3P0会一次性尝试获取的连接数。默认值为3,这意味着当需要更多连接时,C3P0会每次...

    c3p0连接池配置详述

    **c3p0连接池配置详述** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的主要功能是提高数据库连接的复用性,减少数据库连接创建和释放的开销,从而提升应用系统的...

    c3p0连接池参数配置

    在IT行业的数据库管理领域,C3P0是一个...以上参数是C3P0连接池配置中最关键的部分,它们直接影响着数据库访问的性能和稳定性。在实际应用中,应根据业务需求和系统环境对这些参数进行细致调整,以达到最佳的运行效果。

    C3p0连接池配置

    C3p0连接池配置,从网上找的一片文章,发上来做个记录,方便以后参考

    c3p0连接池以及配置文件

    类创建C3P0连接池实例,并设置相关配置。例如: ```java ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setDriverClass("com.mysql.jdbc.Driver"); cpds.setJdbcUrl("jdbc:mysql://localhost...

    Hibernate 中配置C3P0连接池

    C3P0就是一种广泛使用的第三方JDBC连接池实现,它被集成在Hibernate框架中,可以便捷地进行配置。 **1. 为什么选择C3P0连接池** Hibernate自带的连接池算法并不成熟,主要适用于快速开发和学习,而不适合在生产...

    C3P0连接池

    配置C3P0连接池主要有三种方法:通过`config.properties`文件、`c3p0-config.xml`文件或是在程序中直接配置。 ##### 2.1 `config.properties`文件配置 `config.properties`是一种常见的配置文件格式,用于存储简单...

    c3p0连接池

    在实际使用中,我们需要配置C3P0连接池,这可以通过`C3P0连接池配置.txt`文件完成。配置项通常包括: - `minPoolSize`:最小连接数,启动时创建的连接数。 - `maxPoolSize`:最大连接数,超过这个数,应用将无法...

    采用事务、c3p0连接池配置、DBUtiles中的QueryRunner结合

    本文将深入探讨如何采用事务管理、c3p0连接池配置以及DBUtils的QueryRunner工具类来高效地处理MySQL数据库中的数据插入操作。 首先,让我们理解什么是事务。在数据库系统中,事务是数据库操作的基本单元,它确保了...

    c3p0连接池配置及封装的工具类包含所需的jar包

    配置C3P0连接池主要通过一个配置文件,通常是`c3p0.properties`或在Java代码中设置。以下是一些常见的配置参数: 1. `driverClass`:指定数据库驱动类名,例如`com.mysql.jdbc.Driver`。 2. `jdbcUrl`:数据库连接...

    c3p0连接池jar包

    - 连接池配置:允许开发者根据需求调整连接池的大小、超时时间等参数。 - 支持多线程:C3P0连接池在多线程环境下表现稳定,能有效处理并发请求。 - 动态扩展:可以根据应用负载动态调整连接池大小,提高系统响应...

    c3p0连接池配制文件

    c3p0连接池配制文件..

    C3P0连接池jar包(正式).zip

    3. **连接池配置**:用户可以根据实际需求配置连接池参数,如初始连接数、最大连接数、最小连接数、连接超时时间等,以优化系统资源利用。 4. **并发控制**:C3P0支持多线程环境下的并发访问,通过锁机制保证了多个...

Global site tag (gtag.js) - Google Analytics