Hibernate自带的连接池性能不高,而且还存在BUG,因此官方推荐使用c3p0或Proxool连接池。
<o:p></o:p>
1.Hibernate默认连接池<o:p></o:p>
<?xml version='1.0' encoding='UTF-8'?><o:p></o:p>
<!DOCTYPE hibernate-configuration<o:p></o:p>
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"<o:p></o:p>
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><o:p></o:p>
<hibernate-configuration><o:p></o:p>
<o:p></o:p>
<session-factory ><o:p></o:p>
<o:p></o:p>
<!—JDBC驱动程序--><o:p></o:p>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property><o:p></o:p>
<!-- 连接数据库的URL--><o:p></o:p>
<property name="connection.url"> <o:p></o:p>
jdbc:mysql://localhost:3306/schoolproject<o:p></o:p>
</property><o:p></o:p>
<property name="connection.useUnicode">true</property><o:p></o:p>
<property name="connection.characterEncoding">UTF-8</property><o:p></o:p>
<!--连接的登录名--><o:p></o:p>
<property name="connection.username">root</property><o:p></o:p>
<!—登录密码--><o:p></o:p>
<property name="connection.password"></property><o:p></o:p>
<o:p></o:p>
<!--是否将运行期生成的SQL输出到日志以供调试--><o:p></o:p>
<property name="show_sql">true</property><o:p></o:p>
<!--指定连接的语言--><o:p></o:p>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property><o:p></o:p>
<!--映射Student这个资源--><o:p></o:p>
<mapping resource="com/wqbi/model/pojo/student.hbm.xml" /><o:p></o:p>
</session-factory> <o:p></o:p>
</hibernate-configuration><o:p></o:p>
<o:p></o:p>
2.C3P0连接配置<o:p></o:p>
<?xml version='1.0' encoding='UTF-8'?><o:p></o:p>
<!DOCTYPE hibernate-configuration<o:p></o:p>
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"<o:p></o:p>
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><o:p></o:p>
<hibernate-configuration><o:p></o:p>
<o:p></o:p>
<session-factory ><o:p></o:p>
<!—JDBC驱动程序--><o:p></o:p>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property><o:p></o:p>
<!-- 连接数据库的URL--><o:p></o:p>
<property name="connection.url"> <o:p></o:p>
jdbc:mysql://localhost:3306/schoolproject<o:p></o:p>
</property><o:p></o:p>
<property name="connection.useUnicode">true</property><o:p></o:p>
<property name="connection.characterEncoding">UTF-8</property><o:p></o:p>
<!--连接的登录名--><o:p></o:p>
<property name="connection.username">root</property><o:p></o:p>
<!--登录密码--><o:p></o:p>
<property name="connection.password"></property><o:p></o:p>
<!-- C3P0连接池设定--><o:p></o:p>
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider<o:p></o:p>
</property><o:p></o:p>
<property name="hibernate.c3p0.max_size">20</property><o:p></o:p>
<property name="hibernate.c3p0.min_size">5</property><o:p></o:p>
<property name="hibernate.c3p0.timeout">120</property><o:p></o:p>
<property name="hibernate.c3p0.max_statements">100</property><o:p></o:p>
<property name="hibernate.c3p0.idle_test_period">120</property><o:p></o:p>
<property name="hibernate.c3p0.acquire_increment">2</property><o:p></o:p>
<!--是否将运行期生成的SQL输出到日志以供调试--><o:p></o:p>
<property name="show_sql">true</property><o:p></o:p>
<!--指定连接的语言--><o:p></o:p>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property><o:p></o:p>
<!--映射Student这个资源--><o:p></o:p>
<mapping resource="com/wqbi/model/pojo/student.hbm.xml" /><o:p></o:p>
</session-factory> <o:p></o:p>
</hibernate-configuration><o:p></o:p>
<o:p></o:p>
<o:p></o:p>
3.proxool连接池<o:p></o:p>
(1) 先写proxool的配置文件,文件名:proxool.xml(一般放在与hibernate.cfg.xml文件在同一个目录中)本例配置的是MYSQL数据库,数据库的名字为schoolproject。<o:p></o:p>
<o:p></o:p>
<?xml version="1.0" encoding="UTF-8"?> <o:p></o:p>
<!-- the proxool configuration can be embedded within your own application's. <o:p></o:p>
Anything outside the "proxool" tag is ignored. --> <o:p></o:p>
<o:p></o:p>
<something-else-entirely><o:p></o:p>
<proxool><o:p></o:p>
<!--连接池的别名--><o:p></o:p>
<alias>DBPool</alias><o:p></o:p>
<!--proxool只能管理由自己产生的连接--><o:p></o:p>
<driver-url><o:p></o:p>
jdbc:mysql://localhost:3306/schoolproject?useUnicode=true&characterEncoding=UTF8<o:p></o:p>
</driver-url><o:p></o:p>
<!—JDBC驱动程序--><o:p></o:p>
<driver-class>com.mysql.jdbc.Driver</driver-class><o:p></o:p>
<driver-properties><o:p></o:p>
<property name="user" value="root"/><o:p></o:p>
<property name="password" value=""/><o:p></o:p>
</driver-properties> <o:p></o:p>
相关推荐
以下是使用C3P0配置Hibernate连接池的方法: 1. **添加依赖**:确保项目中有C3P0相关的JAR包,例如`c3p0-0.8.4.5.jar`。 2. **配置连接池参数**: - 在`hibernate.cfg.xml`文件中设置以下属性来配置C3P0连接池: ...
配置Hibernate连接池通常涉及到以下几个步骤: 1. **选择连接池**:首先,你需要决定使用哪个连接池实现。比如,如果你选择C3P0,你需要添加对应的依赖到项目中。 2. **配置Hibernate**:在Hibernate的配置文件...
标题“hibernate连接池之tomcat6的配置”涉及到的是如何在Tomcat6服务器中配置Hibernate连接池,以便高效管理数据库连接。这通常是为了优化应用程序的性能和资源利用。以下将详细介绍相关知识点: 1. **Hibernate**...
配置Hibernate连接池主要涉及修改`hibernate.cfg.xml`文件。例如,配置C3P0时,需要添加以下属性: - `hibernate.c3p0.min_size`:最小连接数。 - `hibernate.c3p0.max_size`:最大连接数。 - `hibernate.c3p0....
总的来说,理解和配置Hibernate连接池是优化Java应用性能的关键步骤。Proxool虽然已不再被广泛使用,但理解其工作原理和配置方式有助于我们更好地理解和使用其他现代连接池实现,如C3P0和HikariCP。在实践中,根据...
配置hibernate连接池能够有效地管理和复用数据库连接,减少系统资源消耗,提高系统性能。C3P0、DBCP和Proxool各有特点,选择哪种取决于项目需求。配置时,除了上述参数外,还可以调整其他参数以适应不同的性能和资源...
以下是配置Hibernate连接池的一般步骤: 1. 添加依赖:首先,在项目的类路径下添加Proxool的JAR文件,如压缩包“proxool-0.9.0RC3.zip”中的库文件。如果是Maven项目,可以在pom.xml文件中添加对应的依赖。 2. ...
总的来说,理解并正确配置Hibernate连接池驱动对于提升应用的性能和可扩展性至关重要。无论是c3p0还是Proxool,它们都是为了优化数据库连接的生命周期管理,减少数据库连接创建和释放带来的开销,从而提高系统整体的...
配置Hibernate连接池通常需要在`hibernate.cfg.xml`或对应的配置文件中进行。以C3P0为例,配置内容可能包括以下几个关键参数: - `c3p0.min_size`:最小连接数,表示连接池中应该保持的最小连接数量。 - `c3p0.max_...
总结,Hibernate连接池的配置是优化数据库操作性能的关键步骤。正确选择和配置连接池,可以大大提高系统的响应速度和稳定性。本文以Proxool为例,介绍了配置过程,并简要提及了其他常见的连接池,希望能为你的项目...
配置Hibernate连接池主要包括以下几个步骤: 1. 添加连接池依赖:首先需要在项目中引入所选连接池的库文件,例如,如果选择HikariCP,那么在Maven或Gradle的依赖管理中添加对应的依赖。 2. 配置Hibernate:在...
下面我们将深入探讨这些连接池以及在Hibernate中的配置细节。 首先,C3P0是一个开源的JDBC连接池,它提供了数据源和JNDI绑定。在Hibernate中使用C3P0,你需要在配置文件中指定`provider_class`属性为`org.hibernate...
【hibernate 配置连接池的三种方法】 在Java应用程序中,特别是在使用ORM框架如Hibernate进行数据库操作时,数据库连接池是必不可少的组件。它有效地管理数据库连接,提高应用程序性能,减少资源消耗。以下是对...
标题中的“Hibernate连接池的三种配置方式”指的是Hibernate框架中常用的三种数据库连接池实现,分别是:DBCP (BasicDataSource),C3P0,以及Proxool。这些连接池的目的是管理和优化数据库连接的创建、分配和回收,...
在上述配置中,我们通过`hibernate.proxool.properties`指定了Proxool的配置文件路径,`hibernate.proxool.pool_alias`设置了连接池的别名,这个别名需要与Proxool配置文件中的alias一致。 接下来,我们需要创建...
数据库连接池是应用程序管理和维护数据库...总的来说,合理配置和使用数据库连接池是优化Hibernate应用性能的关键步骤之一,它有助于提升系统整体的运行效率,减少资源浪费,同时也便于监控和管理数据库连接的状态。
**标题:“Hibernate配置连接池整理”** 在Java开发中,数据访问层的性能优化往往离不开高效的数据连接管理,而连接池就是实现这一目标的关键技术。Hibernate作为一款强大的对象关系映射(ORM)框架,它提供了与...