Hibernate c3p0

Hibernate 可以使用多种连接池工具,而且它本身也内置的有,但是官方还是推荐用第三方的,比如 c3p0.

1. 为 Hibernate 项目增加 c3p0 支持

c3p0 是 Hibernate 推荐的连接池工具,如果要和 Hibernate 集成使用,通常在 pom.xml 中添加如下内容就可以了:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-c3p0</artifactId>
    <version>4.3.5.Final</version>
</dependency>

但因外中共封锁网络,添加后,相关的 jar 文件根本下载不了,项目报错信息如下:

hibernate c3p0 misses jar files

此时可以从 Hibernate 官网下下载的 hibernate-release-4.3.5.Final 完整包解压后的文件中找到,我本机的位置是:

C:\Users\caoi\Desktop\hibernate-release-4.3.5.Final\lib\optional\c3p0

将该目录下的三个 jar 文件,复制到上图中所示的目录即可。

2. Hibernate c3p0 配置

在项目 PIS 中,Hibernate c3p0 配置信息如下:

<!-- 指定连接池里最大连接数 -->
<property name="hibernate.c3p0.max_size">20</property>
<!-- 指定连接池里最小连接数 -->
<property name="hibernate.c3p0.min_size">1</property>
<!-- 指定连接池里连接的超时时长 -->
<property name="hibernate.c3p0.timeout">5000</property>
<!-- 指定连接池里最大缓存多少个Statement对象 -->
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<property name="hibernate.c3p0.acquire_increment">2</property>

以上配置中,前四项是 Developer Guide 中提到的最重要的几项。

其他参数信息,可以在 http://www.mchange.com/projects/c3p0/#hibernate-specific 查到:

官网:http://www.mchange.com/projects/c3p0/