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连接池配置, 个人找了很多资料 都在.txt里面,有项目完整配置,解释,还有一些相关网站资料等
**c3p0连接池配置使用** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。使用c3p0连接池可以有效地管理和优化数据库连接,提高系统的性能和稳定性。下面将详细介绍c3p0的...
配置C3P0连接池时,开发者通常需要在配置文件(如Hibernate的`hibernate.cfg.xml`或Spring的`applicationContext.xml`)中指定以下参数: - `driver_class`: 数据库驱动类名,例如`com.mysql.jdbc.Driver`。 - `...
### C3P0连接池配置详解 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定、支持JDBC标准的DataSource接口等。C3P0可以有效地管理和重用数据库连接,减少数据库连接创建和销毁带来的性能损耗。本文将详细介绍...
C3P0连接池的配置涉及到多个方面,用于优化数据库连接的创建、管理和维护。 1. **acquireIncrement**:当连接池中的连接耗尽时,C3P0会一次性尝试获取的连接数。默认值为3,这意味着当需要更多连接时,C3P0会每次...
**c3p0连接池配置详述** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的主要功能是提高数据库连接的复用性,减少数据库连接创建和释放的开销,从而提升应用系统的...
在IT行业的数据库管理领域,C3P0是一个...以上参数是C3P0连接池配置中最关键的部分,它们直接影响着数据库访问的性能和稳定性。在实际应用中,应根据业务需求和系统环境对这些参数进行细致调整,以达到最佳的运行效果。
C3p0连接池配置,从网上找的一片文章,发上来做个记录,方便以后参考
类创建C3P0连接池实例,并设置相关配置。例如: ```java ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setDriverClass("com.mysql.jdbc.Driver"); cpds.setJdbcUrl("jdbc:mysql://localhost...
C3P0就是一种广泛使用的第三方JDBC连接池实现,它被集成在Hibernate框架中,可以便捷地进行配置。 **1. 为什么选择C3P0连接池** Hibernate自带的连接池算法并不成熟,主要适用于快速开发和学习,而不适合在生产...
配置C3P0连接池主要有三种方法:通过`config.properties`文件、`c3p0-config.xml`文件或是在程序中直接配置。 ##### 2.1 `config.properties`文件配置 `config.properties`是一种常见的配置文件格式,用于存储简单...
在实际使用中,我们需要配置C3P0连接池,这可以通过`C3P0连接池配置.txt`文件完成。配置项通常包括: - `minPoolSize`:最小连接数,启动时创建的连接数。 - `maxPoolSize`:最大连接数,超过这个数,应用将无法...
本文将深入探讨如何采用事务管理、c3p0连接池配置以及DBUtils的QueryRunner工具类来高效地处理MySQL数据库中的数据插入操作。 首先,让我们理解什么是事务。在数据库系统中,事务是数据库操作的基本单元,它确保了...
配置C3P0连接池主要通过一个配置文件,通常是`c3p0.properties`或在Java代码中设置。以下是一些常见的配置参数: 1. `driverClass`:指定数据库驱动类名,例如`com.mysql.jdbc.Driver`。 2. `jdbcUrl`:数据库连接...
- 连接池配置:允许开发者根据需求调整连接池的大小、超时时间等参数。 - 支持多线程:C3P0连接池在多线程环境下表现稳定,能有效处理并发请求。 - 动态扩展:可以根据应用负载动态调整连接池大小,提高系统响应...
c3p0连接池配制文件..
3. **连接池配置**:用户可以根据实际需求配置连接池参数,如初始连接数、最大连接数、最小连接数、连接超时时间等,以优化系统资源利用。 4. **并发控制**:C3P0支持多线程环境下的并发访问,通过锁机制保证了多个...