`

JDBC连接池C3P0(一):使用xml文件进行配置

    博客分类:
  • C3P0
阅读更多

1、在src下新建c3p0-config.xml,名字不能改只能是这个,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>  
    <default-config>  
        <property name="user">root</property>  
        <property name="password">root</property>  
        <property name="driverClass">com.mysql.jdbc.Driver</property>  
        <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/test</property>  
        <!-- 连接池初始化时建立的连接数 默认值是3 -->  
        <property name="initialPoolSize">3</property> 
         
        <!-- 连接的最大空闲时间  单位秒 默认是0-代表永远不会断开连接  超过设定时间的空闲连接将会断开 -->  
        <property name="maxIdleTime">30</property> 
         
        <!-- 连接池中拥有的最大连接数 默认值为15个 -->  
        <property name="maxPoolSize">20</property>  
        
        <!-- 连接池中保持的最小连接数  默认值为3个-->  
        <property name="minPoolSize">3</property> 
         
        <!-- 将连接池的连接数保持在minpoolsize 必须小于maxIdleTime设置  默认值为0代表不处理  单位秒 -->  
        <property name="maxIdleTimeExcessConnections">15</property>  
    </default-config>
    
    <!-- SQLServer数据库 测试用 -->
    <named-config name="sqlserver">  
        <property name="user">sa</property>  
        <property name="password">sa</property>  
        <property name="driverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>  
        <property name="jdbcUrl">jdbc:sqlserver://127.0.0.1:1433;databaseName=test</property>  
        <property name="initialPoolSize">3</property> 
        <property name="maxIdleTime">30</property> 
        <property name="maxPoolSize">20</property>  
        <property name="minPoolSize">3</property> 
        <property name="maxIdleTimeExcessConnections">15</property>  
    </named-config>    
</c3p0-config>

我这里建了两个数据源:第一个是默认的数据源MySQL,第二个是自己指定名称的数据源sqlserver。两者如何使用第二步中有介绍。

 

2、新建类进行连接测试

public class DBConnectionByC3P0ForXML {
	private static ComboPooledDataSource cpds = null;
	//私有构造方法,不能创建对象  
    private DBConnectionByC3P0ForXML() {}
    
	//加载数据库连接的配置文件和驱动
	static {
		// 这里有个优点,写好配置文件,想换数据库,简单
		//cpds = new ComboPooledDataSource();// 这是默认的mysql数据库
		cpds = new ComboPooledDataSource("sqlserver");//sqlserver数据库
	}
    
	//获取连接对象
	public static Connection getConnection() throws SQLException {
		return cpds.getConnection();
	}
	
	//获取数据源
    public static DataSource getDataSource() {
        return cpds;
    }
	
	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 = DBConnectionByC3P0ForXML.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();
		}
	}
}

主要jar包:c3p0-0.9.2-pre4.jar、mchange-commons-java-0.2.2.jar

分享到:
评论

相关推荐

    C3P0连接池配置需要的jar包

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

    java中c3p0数据库连接池使用方法(c3p0-config.xml+c3p0-0.9.2-pre1.jar+JdbcPool_c3p0.java)

    java中c3p0数据库连接池使用方法(c3p0-config.xml+c3p0-0.9.2-pre1.jar+JdbcPool_c3p0.java),里面包含了c3p0-0.9.2-pre1.jar、以及配置文件:c3p0-config.xml、以及一个c3p0数据库连接池工具类(只有简单的两个方法...

    JDBC连接池C3P0

    **JDBC连接池C3P0详解** JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口,但在实际应用中,频繁地创建和关闭数据库连接会导致资源浪费和性能下降。为了解决这个问题,引入了数据库连接池技术...

    JDBC + MySQL使用c3p0连接池

    C3P0是一个支持JDBC3规范和JDBC2的标准扩展的连接池组件,它提供了强大的性能和配置选项。C3P0的核心功能包括: 1. **连接管理**:C3P0能创建并维护一个数据库连接池,这些连接可以在多个请求之间复用,从而避免了...

    c3p0连接池附配置文件

    1. **配置文件**:C3P0的配置信息通常保存在名为`c3p0-config.xml`的XML文件中,该文件包含了连接池的参数设置,如初始化连接数、最大连接数、超时时间等。例如: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; ...

    c3p0连接池以及配置文件

    C3P0是由Maurice Priess创建的一个开源项目,它旨在提供一个健壮、完全免费的JDBC连接池实现,以解决数据库连接管理的问题,提升系统的性能和稳定性。 ### C3P0基本概念 1. **数据库连接池**:数据库连接池在初始...

    JDBC连接池使用工具 C3P0 连接池 and druid-1.0.9

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的主要特点包括: 1. **连接测试**:C3P0提供了多种测试策略,确保获取到的连接是可用的。 2. **连接池初始化和最大...

    Tongweb5中配置JDBC连接池

    总的来说,Tongweb5中的JDBC连接池配置是一项关键的系统优化工作,通过合理的配置和使用,可以显著提升Web应用的性能和稳定性。在实践中,开发者需要根据具体的应用场景和负载情况,进行细致的调整和测试,以达到...

    c3p0连接池配置使用

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

    C3P0连接池配置

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的主要特点是轻量级、高效且稳定,广泛应用于各种Java Web应用中。在本文中,我们将深入探讨C3P0连接池的配置,以便更...

    C3P0配置文件

    --配置连接池mysql--&gt; &lt;named-config name="mysql"&gt; &lt;property name="driverClass"&gt;com.mysql.jdbc.Driver&lt;/property&gt; &lt;property name="jdbcUrl"&gt;jdbc:mysql://localhost:3306/CoupleSpace&lt;/property&gt; ...

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

    C3P0是一个开源的JDBC连接池,由Mikera开发,适用于Java应用程序。在这个主题中,我们将深入探讨C3P0连接池的版本0.9.1.2以及如何通过XML配置文件进行设置。 C3P0的主要功能包括自动管理数据库连接,避免频繁创建和...

    开源数据库连接池c3p0

    开源数据库连接池c3p0是一款广泛应用于Java后端开发中的数据库连接管理工具,它能够有效地管理和优化数据库连接,提高应用的性能和响应速度。c3p0的主要功能包括连接池的创建、维护以及自动回收资源,使得多个并发...

    c3p0 jar包及xml文件

    c3p0的配置主要通过XML文件进行,这使得配置更加灵活和易于维护。`c3p0-config.xml`是c3p0的默认配置文件,其中包含了连接池的各种参数设置。以下是一些常见的配置项: - `minPoolSize`:最小连接池大小,即连接池...

    c3p0连接池jar包

    2. 配置C3P0:创建一个配置文件(如c3p0-config.xml),设置连接池的各项参数,如数据源名称、数据库URL、用户名、密码、最大连接数等。 3. 初始化数据源:在代码中加载配置文件,并实例化C3P0的数据源对象。 4. ...

    C3P0开源JDBC连接池

    C3P0是一个广泛使用的开源JDBC连接池,它的全称是CompoSource 3.0,由Miquel Argerich开发并维护。作为数据库连接管理的重要工具,C3P0提供了高效、灵活和可配置的数据库连接管理机制,以优化数据库应用的性能和稳定...

    数据库连接池C3P0.zip

    在本压缩包“数据库连接池C3P0.zip”中,包含了C3P0数据库连接池的相关jar包以及配置文件,用于帮助开发者集成到他们的Java应用中,特别是与MYSQL数据库配合使用。 C3P0的主要特性包括: 1. **连接池管理**:C3P0...

    c3p0连接池使用所需jar包

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,尤其是在Web应用中,使用数据库连接池可以有效地管理和控制数据库连接,提高系统的性能和效率。下面...

    c3p0 还有其他连接池

    c3p0是一款开源的Java数据库连接池实现,由Miquel Arquero创建,它是Comprehensive Database Connection Pooling的缩写。c3p0提供了对JDBC数据库连接的池化管理,其主要功能包括: 1. **连接初始化**:c3p0允许配置...

Global site tag (gtag.js) - Google Analytics