`

连接池框架-C3P0

阅读更多
连接池框架-C3P0

1.简介  
C3P0是一个开源的JDBC连接池,实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。使用它的开源项目有Hibernate,Spring等。

2.在与Spring结合中配置如下:
<!-- Properties文件读取配置,db的properties --> 
<context:property-placeholder location="classpath:resources/config/db.properties"/>
 
<!-- c3p0 connection pool configuration -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  destroy-method="close">
        <!-- 数据库驱动 -->  
        <property name="driverClass" value="${db.driver.class}" />  
        <property name="jdbcUrl" value="${db.url}" />  
        <property name="user" value="${db.username}" />  
        <property name="password" value="${db.password}" />

        <!-- 初始化连接池时连接数量为5个 -->  
        <property name="initialPoolSize" value="5" />
        <!-- 允许最小连接数量为5个 -->  
        <property name="minPoolSize" value="5" />
        <!-- 允许最大连接数量为20个 -->  
        <property name="maxPoolSize" value="20" />
        <!-- 允许连接池最大生成100个PreparedStatement对象 -->  
        <property name="maxStatements" value="100" />
        <!-- 连接有效时间,连接超过3600秒未使用,则该连接丢弃 -->  
        <property name="maxIdleTime" value="3600" />
        <!-- 连接用完时,一次产生的新连接步进值为2 -->  
        <property name="acquireIncrement" value="2" />
        <!-- 获取连接失败后再尝试10次,再失败则返回DAOException异常 -->  
        <property name="acquireRetryAttempts" value="10" />
        <!-- 获取下一次连接时最短间隔600毫秒,有助于提高性能 -->  
        <property name="acquireRetryDelay" value="600" />
        <!-- 检查连接的有效性 -->  
        <property name="testConnectionOnCheckin" value="true" />
        <property name="testConnectionOnCheckout" value="false" />
        <!-- 每个1200秒检查连接对象状态 -->  
        <property name="idleConnectionTestPeriod" value="1200" />
        <!-- 获取新连接的超时时间为10000毫秒 -->  
        <property name="checkoutTimeout" value="10000" />
       
        <property name="autoCommitOnClose" value="false" />
        <property name="loginTimeout" value="100" />
        <property name="breakAfterAcquireFailure" value="false" />
        <property name="preferredTestQuery" value="select 1" />
</bean>

3.与Hibernate结合配置
在hibernate.cfg.xml文件里面加入如下的配置:   
<!-- 最大连接数 -->   
<property name="hibernate.c3p0.max_size">20</property>
  
<!-- 最小连接数 -->   
<property name="hibernate.c3p0.min_size">5</property>
  
<!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 -->   
<property name="hibernate.c3p0.timeout">120</property>  
 
<!-- 最大的PreparedStatement的数量 -->   
<property name="hibernate.c3p0.max_statements">100</property>
  
<!-- 每隔120秒检查连接池里的空闲连接 ,单位是秒-->   
<property name="hibernate.c3p0.idle_test_period">120</property>
  
<!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->   
<property name="hibernate.c3p0.acquire_increment">2</property>
  
<!-- 每次都验证连接是否可用 -->   
<property name="hibernate.c3p0.validate">true</property>

4.c3p0与dbcp区别
dbcp没有自动的回收空闲连接   
c3p0有自动回收空闲连接
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    C3P0连接池配置需要的jar包

    C3P0连接池是Java应用中常用的数据库连接池组件,它允许程序在不关闭物理连接的情况下,管理和重用数据库连接,从而提高了应用程序的性能和效率。C3P0库依赖于其他几个JAR包来实现其功能,包括`c3p0-0.9.2.1.jar`、`...

    c3p0连接池使用所需jar包

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

    【三个常用的连接池】-C3P0、Druid、JDBCTemplate

    本资源提供了三个常用的数据库连接池实现:C3P0、Druid和JdbcTemplate。下面将详细介绍这三个连接池以及它们的特点。 1. C3P0连接池: C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和...

    SSM框架-c3p0架包zip

    在这个场景中,我们关注的是`c3p0`,一个用于数据库连接管理的开源JDBC连接池。C3P0库提供了一种有效的方法来管理和优化数据库连接,从而提高应用性能和资源利用率。 C3P0连接池的核心功能包括: 1. **连接管理**...

    数据库连接池c3p0jar包

    C3P0是一个开源的Java连接池实现,它提供了一种灵活且功能强大的数据库连接管理方式。在本文中,我们将深入探讨C3P0连接池的基本概念、工作原理以及如何在Java项目中配置和使用。 **C3P0简介** C3P0是由David Syer...

    sqlite-c3p0.

    标题“sqlite-c3p0”指的是将SQLite数据库与C3P0连接池集成到Spring框架和Hibernate ORM中的技术实践。这个描述暗示了我们正在处理一个Java Web应用项目,其中使用了SQLite作为轻量级数据库,C3P0作为数据源连接池,...

    play-c3p0-plugin_2.10-0.1.zip

    `play-c3p0-plugin`为Play Framework提供了方便的C3P0集成方案,使得开发者能快速地在项目中引入高性能的数据库连接池,提高系统的稳定性和效率。通过理解C3P0的工作原理和配置选项,我们可以根据实际需求调整连接池...

    Hibernate 中配置C3P0连接池

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

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

    C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着非常重要的角色,它能够有效地管理数据库连接,提高系统性能,减少数据库资源...

    c3p0 还有其他连接池

    "c3p0 还有其他连接池"这个标题表明我们将讨论c3p0以及其他类型的数据库连接池。 c3p0是一款开源的Java数据库连接池实现,由Miquel Arquero创建,它是Comprehensive Database Connection Pooling的缩写。c3p0提供了...

    c3p0连接池

    总结起来,C3P0是一个强大且灵活的数据库连接池解决方案,广泛应用于Java Web项目中,如Hibernate和Spring框架。正确配置和使用C3P0可以显著提升数据库操作的效率,降低系统资源消耗,保障应用的稳定运行。

    c3p0连接池相关包

    C3P0连接池是Java开发中常用的数据库连接池组件,尤其在Spring框架的应用中扮演着重要的角色。它由Mchange公司开发,提供了一种高效、灵活且稳定的数据库连接管理方式,有效地解决了数据库连接资源的分配与回收问题...

    数据库连接池dbcp和c3p0jar包

    DBCP(Apache Commons DBCP)和C3P0是两种常见的开源数据库连接池实现,它们允许开发者有效地管理和重用数据库连接,避免了每次请求数据库时创建新的连接,从而降低了系统的资源消耗。 DBCP,全称为Apache Commons ...

    C3P0连接池jar包

    C3P0连接池是一个基于Java的开源数据库连接池组件,它在JDBC连接管理上提供了高效、稳定和强大的功能。作为一个连接池,C3P0的主要任务是管理和复用数据库连接,从而避免频繁创建和关闭连接导致的性能损耗。在Java...

    C3P0 9.2.1 jar包 + 连接池配置教程

    C3P0是一款开源的Java连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的主要功能是管理数据库连接,提高数据库应用的性能和效率,避免频繁创建和关闭数据库连接带来的开销。在本教程中,...

    c3p0连接池jar

    C3P0是一个开源的Java连接池,全称为Comming Soon Connection Pool,它提供了一种在JDBC数据库连接上的管理机制,以提高应用程序的性能和效率。C3P0是基于JDBC的数据源实现,允许应用程序通过配置参数来优化数据库...

    数据库连接池C3P0.zip

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

    spring + c3p0 连接池

    Spring框架作为一个强大的应用框架,提供了与多种数据库连接池集成的能力,其中包括C3P0。本示例将深入探讨如何在Spring项目中配置并使用C3P0连接池,以实现高效、稳定的数据库连接管理。 **一、Spring框架简介** ...

    c3p0连接池jar包,c3p0-0.9.2.1.jar,mchange-commons-java-0.2.3.4.jar

    C3P0是一个开源的Java连接池,全称为Comming Soon Connection Pool,它是由Mchange公司提供的一个数据库连接池组件。在Java应用中,尤其是在基于Web的多用户系统中,数据库连接的创建和销毁是非常频繁的,这会消耗...

Global site tag (gtag.js) - Google Analytics