Hibernate有默认的连接池,是DriverManagerConnectionProvider
12:51:52,892 INFO DriverManagerConnectionProvider:64 - Using Hibernate built-in connection pool (not for production use!) 12:51:52,894 INFO DriverManagerConnectionProvider:65 - Hibernate connection pool size: 20 12:51:52,894 INFO DriverManagerConnectionProvider:68 - autocommit mode: false 12:51:52,900 INFO DriverManagerConnectionProvider:103 - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql:///test 12:51:52,901 INFO DriverManagerConnectionProvider:109 - connection properties: {user=root, password=****}
导入jar包, hibernate解压目录/lib/optional/c3p0/c3p0-0.9.1.jar
修改hibernate.cfg.xml配置文件,增加连接池的配置
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
控制台输出
13:07:36,405 INFO ConnectionProviderFactory:173 - Initializing connection provider: org.hibernate.connection.C3P0ConnectionProvider 13:07:36,408 INFO C3P0ConnectionProvider:103 - C3P0 using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql:///test 13:07:36,408 INFO C3P0ConnectionProvider:104 - Connection properties: {user=root, password=****} 13:07:36,408 INFO C3P0ConnectionProvider:107 - autocommit mode: false
C3P0的详细配置
<!-- C3P0连接池设定--> <!-- 使用c3po连接池 配置连接池提供的供应商--> <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider </property> <!--在连接池中可用的数据库连接的最少数目 --> <property name="c3p0.min_size">5</property> <!--在连接池中所有数据库连接的最大数目 --> <property name="c3p0.max_size">20</property> <!--设定数据库连接的过期时间,以秒为单位, 如果连接池中的某个数据库连接处于空闲状态的时间超过了timeout时间,就会从连接池中清除 --> <property name="c3p0.timeout">120</property> <!--每3000秒检查所有连接池中的空闲连接 以秒为单位--> <property name="c3p0.idle_test_period">3000</property> <!-- 设置自动提交 --> <property name="connection.autocommit">true</property>
相关推荐
C3P0就是一种广泛使用的第三方JDBC连接池实现,它被集成在Hibernate框架中,可以便捷地进行配置。 **1. 为什么选择C3P0连接池** Hibernate自带的连接池算法并不成熟,主要适用于快速开发和学习,而不适合在生产...
配置C3P0连接池时,开发者通常需要在配置文件(如Hibernate的`hibernate.cfg.xml`或Spring的`applicationContext.xml`)中指定以下参数: - `driver_class`: 数据库驱动类名,例如`com.mysql.jdbc.Driver`。 - `...
在探讨如何在Hibernate框架中配置C3P0连接池之前,我们先简要了解下Hibernate与C3P0的基本概念。 Hibernate是一个开放源代码的对象关系映射(ORM)框架,它实现了Java对象与数据库表之间的映射,允许开发人员以面向...
1. **连接池管理**:C3P0可以创建并维护一定数量的数据库连接,当应用程序需要时,可以从连接池中获取连接,用完后归还,而不是每次使用都创建新的连接,这大大减少了数据库连接的创建和销毁开销。 2. **自动检测与...
c3p0连接池配置, 个人找了很多资料 都在.txt里面,有项目完整配置,解释,还有一些相关网站资料等
**配置Hibernate使用C3P0连接池** 在Java Web开发中,数据库连接管理是一个至关重要的环节,有效地管理和控制数据库连接可以提高应用的性能和稳定性。Hibernate作为一款强大的ORM(对象关系映射)框架,提供了与...
3. **连接验证**:C3P0可以定期对池中的连接进行健康检查,确保返回给应用的连接是可用的,避免因长时间未使用的连接失效而影响应用。 4. **自动扩展**:当连接池中的连接被全部使用时,C3P0可以自动增加连接数量,...
1. **连接池管理**:C3P0能够初始化一定数量的数据库连接,并在应用需要时提供这些连接,用完后回收到连接池中,避免了频繁创建和销毁连接带来的开销。 2. **自动检测与恢复**:C3P0可以定期检查数据库连接的有效性...
5. **automaticTestTable**:C3P0可以建立一个名为Test的空表,用来执行预定义的查询语句进行连接测试。如果设置了这个属性,将忽略`preferredTestQuery`。Test表仅用于C3P0内部测试,不应进行其他操作。 6. **...
### hibernate使用c3p0连接池的知识点详解 #### 一、Hibernate与C3P0连接池概述 - **Hibernate**: 是一个全功能的Java持久层框架,它提供了对象关系映射(ORM)功能,使得Java应用可以方便地与数据库进行交互。...
通过以上详细介绍,我们了解到 C3P0 作为一个高性能的 JDBC 连接池组件,在 Hibernate 中的应用以及如何通过配置关键参数来优化其性能表现。合理设置这些参数能够显著提升应用的稳定性和响应速度。
1. 连接池管理:C3P0可以维护一定数量的数据库连接,当应用程序需要时,可以从池中获取连接,用完后归还,而不是每次操作都创建新的连接。这样减少了连接创建和关闭的时间,提高了性能。 2. 自动管理连接:C3P0提供...
### Hibernate + c3p0 连接池与 SQL Server 2000 的配置与问题解决 #### 一、背景介绍 在Java开发环境中,Hibernate作为一款流行的ORM框架,能够提供一套强大的对象-关系映射机制,使得开发者可以更加便捷地进行...
4. **配置灵活性**:C3P0提供了丰富的配置选项,如最小连接数、最大连接数、初始化连接数、空闲超时时间等,允许用户根据实际需求调整连接池的行为。 5. **异常处理**:当数据库连接出现问题时,C3P0能够自动捕获...
1. **连接管理**:C3P0可以自动创建、测试、回收和关闭数据库连接,避免了手动管理连接的繁琐工作,降低了系统资源的消耗。 2. **连接池大小控制**:可以设置最小和最大连接数,确保在高并发时有足够的连接,同时...
5. **配置灵活**:C3P0允许开发者通过XML配置文件或代码动态设置各种参数,如最大连接数、最小连接数、超时时间等,以适应不同的应用场景。 在实际使用C3P0时,你需要在项目中引入这两个JAR包,并进行相应的配置。...
1. 连接管理:C3P0可以预先配置一定数量的数据库连接,并将这些连接存储在一个池中。当应用程序需要连接时,可以从池中获取,用完后归还而不是直接关闭,这样可以避免频繁的创建和关闭连接操作。 2. 连接池初始化与...
4. **连接维护**:C3P0会定期检查连接池中的连接状态,确保其有效性。如果发现过期或损坏的连接,会自动移除并创建新的连接。 5. **连接回收**:当应用程序关闭或者达到预设的最大空闲时间,未使用的连接会被回收。 ...
- **线程安全**:C3P0库是线程安全的,允许多个线程同时使用连接池,无需担心并发问题。 配置C3P0连接池通常涉及以下几个步骤: 1. 添加JAR依赖到项目的类路径中,包括上面提到的三个JAR文件。 2. 配置C3P0的数据源...