1、在src下新建一个properties文件,名字随便符合命名规范即可,我这里的名称为:c3p0config.properties,内容如下:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/test jdbc.username=root jdbc.pwd=root
2、新建类进行连接测试:
public class DBConnectionByC3P0 { private static String url = null; private static String username = null; private static String pwd = null; private static DataSource ds_pooled; //私有构造方法,不能创建对象 private DBConnectionByC3P0(){ } //加载数据库连接的配置文件和驱动 static{ Properties env = new Properties(); try { InputStream in = DBConnectionByC3P0.class.getResourceAsStream("/c3p0config.properties"); //加载属性文件中的数据库配置信息 //以=左边作为key值,右边作为value值 env.load(in); //1. 加载驱动类 Class.forName(env.getProperty("jdbc.driver")); url = env.getProperty("jdbc.url"); username = env.getProperty("jdbc.username"); pwd = env.getProperty("jdbc.pwd"); //2、设置连接数据库的配置信息 DataSource ds_unpooled = DataSources.unpooledDataSource(url, username, pwd); Map<String, Object> pool_conf = new HashMap<String, Object>(); //3、设置最大连接数 pool_conf.put("maxPoolSize", 10); ds_pooled = DataSources.pooledDataSource(ds_unpooled,pool_conf); } catch (Exception e) { e.printStackTrace(); } } //获取连接对象 public static Connection getConnection() throws SQLException { return ds_pooled.getConnection(); } //释放连接池资源 public static void clearup(){ if(ds_pooled != null){ try { DataSources.destroy(ds_pooled); } catch (SQLException e) { e.printStackTrace(); } } } private static Integer counter = 0; public static void main(String[] args){ for (int i = 1; i <= 20; i++) { new Thread(new Runnable() { public void run() { Connection conn = null; try { conn = DBConnectionByC3P0.getConnection(); synchronized (counter) { System.out.print(Thread.currentThread().getName()); System.out.print("counter=" +(counter++)+ "\tconn="+conn); System.out.println(); conn.prepareStatement("select * from s_user"); conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } }).start(); } } }
相关推荐
**jdbc连接池c3p0工具包** 在Java开发中,数据库操作是常见的任务,而JDBC(Java Database Connectivity)是Java与数据库交互的标准接口。然而,直接使用JDBC进行数据库连接可能会导致性能问题,因为每次连接和断开...
C3P0是由David Syer创建的一个开源的JDBC连接池,它的全称是Composed Connection Pool 2000。C3P0的主要目标是提高数据库连接的效率和稳定性,通过复用已建立的数据库连接,避免频繁地创建和关闭连接,从而降低系统...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的主要特点包括: 1. **连接测试**:C3P0提供了多种测试策略,确保获取到的连接是可用的。 2. **连接池初始化和最大...
- C3P0:作为一款开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。 2. **C3P0功能特点**: - 自动管理连接:C3P0可以自动检测并修复失效的数据库连接,防止因长时间未使用的连接...
--配置连接池mysql--> <named-config name="mysql"> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/CoupleSpace</property> ...
c3p0是一款开源的Java数据库连接池实现,由Miquel Arquero创建,它是Comprehensive Database Connection Pooling的缩写。c3p0提供了对JDBC数据库连接的池化管理,其主要功能包括: 1. **连接初始化**:c3p0允许配置...
C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着非常重要的角色,它能够有效地管理数据库连接,提高系统性能,减少数据库资源...
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0由Miquel Delgado开发,其核心功能在于提高了数据库连接的效率和管理,通过池化数据库连接来减少创建和销毁连接的开销...
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。作为一个数据库连接池,c3p0的主要作用在于管理数据库连接,以提高应用程序的性能和效率。在高并发的Web应用中,频繁地...
C3P0就是一种广泛使用的第三方JDBC连接池实现,它被集成在Hibernate框架中,可以便捷地进行配置。 **1. 为什么选择C3P0连接池** Hibernate自带的连接池算法并不成熟,主要适用于快速开发和学习,而不适合在生产...
C3P0是一个灵活、功能强大的JDBC连接池,它提供了数据源和JNDI绑定的数据源实现,能够帮助Java应用管理数据库连接。C3P0的主要优点包括自动检测并回收无效连接、支持多线程环境下的并发控制以及资源池的动态扩展。 ...
总结,C3P0是一个强大的JDBC连接池实现,它的功能丰富,易于配置和使用。在Java应用程序中,正确使用C3P0可以显著提高数据库访问的效率和系统的稳定性。提供的jar包和doc文件是理解和使用C3P0的关键资源,应充分利用...
C3P0(Concurrent Data Source Pooling for Java)是一款开源的JDBC连接池实现,它提供了对JDBC资源进行统一管理的能力,通过减少数据库连接的创建和销毁次数,有效提高了应用程序访问数据库的效率和响应速度。C3P0...
Java数据库连接池C3P0是一种常用的开源数据库连接管理工具,它通过提供连接池服务,提高了应用程序处理数据库连接的效率,降低了系统资源的消耗。在Java应用中,尤其是在服务器端,数据库连接的创建和关闭是相对耗时...
- C3P0:开源的JDBC连接池,提供了比JDBC更强大的功能,如自动检测死锁、自动重连等。 - DBCP:Apache的一个开源项目,基于Jakarta-pool实现,是Tomcat默认的数据源。 - HikariCP:被誉为“最快的Java JDBC连接池”...
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0-0.9.2.1.jar和mchange-commons-java-0.2.3.4.jar是c3p0连接池的两个核心组件,前者是c3p0的主要实现库,后者则是其...
**c3p0数据库连接池**是Java后端开发中常用的一个开源的数据库连接池组件,主要用于管理和优化数据库连接。它的全称是ComMchange V3 Pooled Database Connections,由Maurice Priess创建,旨在提供一个高效、灵活且...
MySQL是一种广泛使用的开源关系型数据库管理系统,而C3P0是一个开放源代码的JDBC连接池,它实现了数据源和JNDI绑定,提供了一种数据库连接管理的方式,可以提高数据库连接的效率和性能。 在这个主题中,我们主要...
C3P0库包含一个名为`c3p0.jar`的文件,它是使用该连接池的核心依赖。 1. **什么是数据库连接池**:数据库连接池是数据库管理的一种技术,它预先在内存中创建一定数量的数据库连接,应用程序需要时可以从池中获取,...