package com.sanxia.utils;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Date;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* Here we use C3P0 pool to regulate connection and enhance performance of the
* website.
*
* @author
*/
public class C3P0Pool {
private static C3P0Pool dbPool;
private static ComboPooledDataSource dataSource;
static {
dbPool = new C3P0Pool();
}
public C3P0Pool() {
try {
dataSource = new ComboPooledDataSource();
dataSource.setUser("id");
dataSource.setPassword("pw");
//dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8");
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setMaxPoolSize(50);
dataSource.setMinPoolSize(1);
dataSource.setMaxStatements(80);
dataSource.setMaxIdleTime(1500);
dataSource.setAcquireIncrement(10);
dataSource.setIdleConnectionTestPeriod(600);
} catch (PropertyVetoException e) {
throw new RuntimeException(e);
}
}
public final static C3P0Pool getInstance() {
return dbPool;
}
public final Connection getConnection() {
try {
return dataSource.getConnection();
} catch (SQLException e) {
Infolog.info("C3P0 Connection getConnection() fail ## Time: " + new Date()
+ " ## " + e.getMessage());
return null;
}
}
/****************************************************************
* public static void main(String[] args) throws SQLException { Connection c
* = C3P0Pool.getInstance().getConnection(); c.setAutoCommit(false); int j =
* 0; long initTime = System.currentTimeMillis(); java.sql.PreparedStatement
* ps = c .prepareStatement(
* "insert into admin(yhmc,yhmm) values('测试数据1','测试数据2') "); for (int i = 0;
* i < 100000; i++) { ps.addBatch(); j++; if (j == 200) { ps.executeBatch();
* j = 0; } } c.commit(); c.close(); long endTime =
* System.currentTimeMillis(); System.out.println((endTime - initTime) /
* 1000 + " s used! "); }
**/
}
分享到:
相关推荐
- 相比于Tomcat JDBC Connection Pool,c3p0更适合小型项目,大型项目可能会倾向于选择更高效、更活跃维护的连接池。 7. **常见问题与解决方案** - 如果出现“Too many connections”错误,可能是因为`maxPool...
C3P0连接池是Java开发中常用的数据库连接池组件,它能够有效地管理和优化数据库连接,提高应用程序的性能和效率。C3P0由Mithun Das Laskar创建,是一个开源项目,广泛应用于各种Java Web应用中。下面将详细介绍C3P0...
**c3p0数据库连接池案例** 在Java开发中,数据库连接池是管理数据库连接的重要工具,它能够有效地提高数据库操作的效率并节省系统资源。C3P0是一款开源的数据库连接池组件,由Maurice Priess创建,被广泛应用于各种...
C3P0数据库连接池是Java开发中广泛使用的开源组件,用于管理数据库连接,提高数据库访问效率并降低系统资源消耗。源代码分析可以帮助我们深入理解其内部机制,从而更好地优化和配置C3P0,提升应用程序性能。 1. **...
**C3P0连接池配置详解** C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的主要特点是轻量级、高效且稳定,广泛应用于各种Java Web应用中。在本文中,我们将深入探讨...
**c3p0连接池插件详解** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。作为一个数据库连接池,c3p0的主要作用在于管理数据库连接,以提高应用程序的性能和效率。在高...
C3P0是由David Syer创建的一个开源的JDBC连接池,它的全称是Composed Connection Pool 2000。C3P0的主要目标是提高数据库连接的效率和稳定性,通过复用已建立的数据库连接,避免频繁地创建和关闭连接,从而降低系统...
C3P0是由Mithral Software公司开发的,其全称为Comerica Commercial Connection Pool,是一款轻量级、高效且功能丰富的JDBC连接池。在Java应用中,尤其是在Web应用服务器上,使用连接池可以有效地减少数据库资源的...
**c3p0连接池工具详解** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的主要功能是管理数据库连接,提高数据库访问效率,避免因为频繁创建和销毁数据库连接而造成...
**c3p0数据库连接池**是Java应用中广泛使用的第三方数据库连接管理工具,它能够有效地管理和优化数据库连接,提高应用程序的性能和效率。c3p0库通过提供连接池功能,使得数据库连接可以被多个并发请求共享,避免了...
java中c3p0数据库连接池使用方法(c3p0-config.xml+c3p0-0.9.2-pre1.jar+JdbcPool_c3p0.java),里面包含了c3p0-0.9.2-pre1.jar、以及配置文件:c3p0-config.xml、以及一个c3p0数据库连接池工具类(只有简单的两个方法...
**c3p0连接池详解** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0由Miquel Delgado开发,其核心功能在于提高了数据库连接的效率和管理,通过池化数据库连接来减少...
C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着非常重要的角色,它能够有效地管理数据库连接,提高系统性能,减少数据库资源...
C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。这个连接池在许多应用中被广泛使用,因为它提供了良好的性能和稳定性。在深入理解C3P0源码之前,我们需要先了解一下...
C3P0连接池是一个基于Java的开源数据库连接池组件,它在JDBC连接管理上提供了高效、稳定和强大的功能。作为一个连接池,C3P0的主要任务是管理和复用数据库连接,从而避免频繁创建和关闭连接导致的性能损耗。在Java...
"c3p0 还有其他连接池"这个标题表明我们将讨论c3p0以及其他类型的数据库连接池。 c3p0是一款开源的Java数据库连接池实现,由Miquel Arquero创建,它是Comprehensive Database Connection Pooling的缩写。c3p0提供了...
C3P0是一个开源的Java连接池,全称为Comming Soon Connection Pool,它提供了一种在JDBC数据库连接上的管理机制,以提高应用程序的性能和效率。C3P0是基于JDBC的数据源实现,允许应用程序通过配置参数来优化数据库...