只因为c3p0 跟hibernate 有着说不清道不明的关系使得 新手对这一大堆属性很是陌生,再加上网络 互相抄袭的 泛滥(笔者对此深恶痛疾) 出现了好多不负责任的写法,现将正确的配置 及属性 记录如下。(摘自c3p0官方网站)
如果自己使用c3p0的连接池 其配置属性如下:
acquireIncrement :2 (当连接池中的连接用完时,C3P0一次性创建新连接的数目)
idleConnectionTestPeriod:5 (隔多少秒检查所有连接池中的空闲连接,默认为0表示不检查;)
initialPoolSize:3 (初始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值。默认为3)
maxIdleTime: 7200 (最大空闲时间,超过空闲时间的连接将被丢弃。为0或负数则永不丢弃。默认为0)
maxPoolSize:10 (连接池中保留的最大连接数。默认为15)
maxStatements: 100 (JDBC的标准参数,用以控制数据源内加载的PreparedStatement数量。但由于预缓存的Statement属于单个Connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素,如果maxStatements与 maxStatementsPerConnection均为0,则缓存被关闭。默认为0;
maxStatementsPerConnection:连接池内单个连接所拥有的最大缓存Statement数。默认为0;
numHelperThreads:C3P0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能,通过多线程实现多个操作同时被执行。默认为3;)
minPoolSize:1 (最小连接数)
testConnectionsOnCheckout : false (因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable
等方法来提升连接测试的性能。默认为false;)
checkoutTimeout:5000 (当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,如设为0则无限期等待。单位毫秒,默认为0)
如果使用sessionFactory的property属性 来配置 c3p0的话 属性名对应如下:
hibernate.c3p0.acquire_increment
hibernate.c3p0.idle_test_period
第三个initialPoolSize 不能在这里配置,如果需要可以通过c3p0自己的配置文件进行配置。
hibernate.c3p0.timeout
hibernate.c3p0.max_size
hibernate.c3p0.max_statements
hibernate.c3p0.min_size
hibernate.c3p0.validate (hibernate 2.x only!)
分享到:
相关推荐
在探讨如何在Hibernate框架中配置C3P0连接池之前,我们先简要了解下Hibernate与C3P0的基本概念。 Hibernate是一个开放源代码的对象关系映射(ORM)框架,它实现了Java对象与数据库表之间的映射,允许开发人员以面向...
Hibernate的C3P0架包是Java开发中用于数据库连接管理的一个重要组件,它整合了Hibernate ORM框架与C3P0连接池。C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java Web...
### Hibernate C3P0 数据库连接池参数详解 在企业级应用开发中,数据库连接池技术扮演着极其重要的角色,它能显著提高系统的性能并优化资源管理。Hibernate 作为 Java 领域中最流行的 ORM(对象关系映射)框架之一...
### Hibernate + c3p0 连接池与 SQL Server 2000 的配置与问题解决 #### 一、背景介绍 在Java开发环境中,Hibernate作为一款流行的ORM框架,能够提供一套强大的对象-关系映射机制,使得开发者可以更加便捷地进行...
hibernate4版本的c3p0jar包
在Java的持久层框架Hibernate中,数据库连接管理是至关重要的,因为有效管理数据库连接可以显著...这个“hibernate c3p0实例源码”提供了一个很好的起点,帮助开发者深入理解如何在实践中使用Hibernate与C3P0的组合。
在集成Hibernate与C3P0时,主要利用C3P0作为Hibernate的后端连接池,实现数据库连接的高效复用。这种方式可以显著提高应用程序的性能,尤其是在高并发环境下。 #### 三、配置Hibernate使用C3P0的具体步骤 1. **...
【标题】:“Java Hibernate C3P0”是一个关于Java编程中的持久化框架Hibernate与C3P0连接池的讨论。Hibernate是Java领域广泛使用的对象关系映射(ORM)框架,它简化了数据库操作,使开发者可以使用面向对象的方式来...
在本教程中,我们将深入探讨如何将Hibernate与C3P0结合,实现一个高效、稳定的数据库连接管理。 首先,我们需要了解C3P0的基本概念。C3P0是Com审议Connection Pooling的缩写,它提供了一个灵活且强大的数据库连接池...
标题"hibernate4.5 c3p0 依赖包"指出,这个压缩包包含了与Hibernate 4.5版本相关的c3p0组件。Hibernate是一个流行的Java对象关系映射(ORM)框架,用于简化数据库操作。而c3p0则是一个开源的JDBC连接池,它提供了...
Hibernate作为一款强大的ORM(对象关系映射)框架,提供了与多种数据库连接池的集成,其中C3P0是一个常用的连接池实现。本篇文章将详细介绍如何配置Hibernate以使用C3P0连接池。 1. **C3P0简介** C3P0是一个开源的...
在使用Hibernate配置c3p0数据源时,我们需要引入`c3p0-jar`包,这个压缩包中的JAR文件包含了c3p0的所有相关类和库。在项目中,我们通常将这个JAR文件添加到类路径(ClassPath)中,以便于程序运行时能够找到并加载c3...
C3P0就是一种广泛使用的第三方JDBC连接池实现,它被集成在Hibernate框架中,可以便捷地进行配置。 **1. 为什么选择C3P0连接池** Hibernate自带的连接池算法并不成熟,主要适用于快速开发和学习,而不适合在生产...
通过以上的介绍,我们可以了解到`Hibernate3.0`与`c3p0`结合使用时,如何配置和利用`c3p0`的自动重连功能,以增强应用在面对数据库连接异常时的恢复能力。在实际项目中,正确地配置和使用`c3p0`可以显著提高系统的...
**c3p0与Hibernate的整合步骤**: 1. **引入依赖**:在项目中添加c3p0的jar包,同时确保已经包含了Hibernate的依赖。 2. **配置c3p0**:在Hibernate的配置文件(如`hibernate.cfg.xml`)中,定义c3p0的相关参数,如...
hibernate-c3p0-3.3.2.GA.jar
hibernate-c3p0-4.2.1.final.jarhibernate-c3p0-4.2.1.final.jarhibernate-c3p0-4.2.1.final.jarhibernate-c3p0-4.2.1.final.jarhibernate-c3p0-4.2.1.final.jar
在本项目"SSH - SpringMVC4 + Spring4 + Hibernate4 + c3p0 + Mysql.zip"中,开发者使用了SpringMVC4作为表现层,Spring4作为控制层和服务层,Hibernate4作为持久层,c3p0作为数据库连接池,以及MySQL作为数据库。...
标题“sqlite-c3p0”指的是将SQLite数据库与C3P0连接池集成到Spring框架和Hibernate ORM中的技术实践。这个描述暗示了我们正在处理一个Java Web应用项目,其中使用了SQLite作为轻量级数据库,C3P0作为数据源连接池,...