转自:
http://hi.baidu.com/lanruijin/blog/item/b57938d1267e19d2562c8453.html
以TOMCAT+MySql为例,Hibernate有两种连接数据库的方式:
1、Hibernate自行管理的数据库连接池
2、Hibernate使用当前容器配置的连接池
在网上看到很多Hibernate配置教程,可说实在的那些教程杂
乱无章,最多算是手记,对于需要了解这方面的人来说阅读
这些垃圾更是弊大于利。原谅我用垃圾这个词,但难道不是吗,
自己只要调式通了,随便几句话堆砌成一篇“技术文章”,不
管别人看不看得懂、是否条理明确和规范,这就是垃圾。
所以我写这篇文章自然就不是垃圾了,废话不多说,Hibernate
+TOMCAT配置数据库连接池标准过程。
准备工作:
1、www.Hibernate.org下载最新的Hibernate,建议3.0
版。
2、安装了MYSQL,并且将MYSQL驱动复制到TOMCAT中的common/lib下。
3、在TOMCAT中建立一个新的WEB应用(这还不会的话就不要学
了)。
4、将Hibernate下的类库--LIB文件夹下的所有JAR复制到
WEB应用WEB-INF/lib下。
5、在WEB应用WEB-INF/classes目录下建立hibernate.cfg.xml文
件,内容如下:
<?xml version='1.0' encoding='GBK'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
实际上这一步建立的是个尚未有任何配置的XML文件。
一、Hibernate自行管理的数据库连接池
顾名思义,Hibernate框架包含了自己的管理数据库连接的方法,
这一切只需要配置hibernate.cfg.xml文件即可。
完整的hibernate.cfg.xml:
<?xml version='1.0' encoding='GBK'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<!--Hibernate self-manager connection pool-->
<hibernate-configuration>
<session-factory>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/nihongo?useUnicode=true</property>
<property name="connection.username">root</property>
<property name="connection.password">kevin</property>
<mapping resource="cat/Cat.hbm.xml"/>
</session-factory>
</hibernate-configuration>
以上各属性值请依照自己的情况修改即可。
2、Hibernate使用当前容器配置的连接池
容器(如TOMCAT)建立连接池,并配置JNDI,Hibernate通过调用JNDI来
使用容器的连接池。
这中方式稍微有点复杂,需要配置三个XML文件:
1、%TOMCAT_HOME%/conf/server.xml
在server.xml中,</host>这之前加入如下WEB应用上下文配置:
<Context path="/quickstart" docBase="quickstart" debug="0" >
<Resource name="jdbc/MySql5" auth="Container"
type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/nihongo?useUnicode=true"
username="root" password="kevin" maxActive="100" maxIdle="10"
maxWait="-1"/></Context>
2、完整的hibernate.cfg.xml:
<?xml version='1.0' encoding='GBK'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<!--Hibernate use JNDI to access container's connection pool-->
<hibernate-configuration>
<session-factory>
<property name="connection.datasource">java:comp/env/jdbc/MySql5</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="cat/Cat.hbm.xml"/>
</session-factory>
</hibernate-configuration>
3、WEB应用的web.xml文件:
在web.xml的</web-app>之前加入如下配置:
<!--Hibernate use container's connection pool-->
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/MySql5</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
以上,2种配置Hibernate连接数据库的方式,具体差异本人尚不完全
分享到:
相关推荐
3. Druid:阿里巴巴开源的数据库连接池,性能优秀且功能丰富,提供了监控、SQL解析、拦截器等功能。 4. HikariCP:目前被认为是最快的Java连接池,以其轻量级、高性能和低资源消耗著称,被许多大型项目所采用。 三...
在Java的持久化框架Hibernate中,连接池是一个关键组件,用于优化数据库的连接管理,减少创建和关闭数据库连接的开销。文档中的标题和描述提到了Hibernate对第三方连接池的支持,特别是C3P0、Proxool和DBCP。下面...
【标题】:“Hibernate数据库连接”深入解析 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它极大地简化了与数据库的交互。本篇文章将深入探讨Hibernate的数据库连接机制,帮助开发者理解如何利用...
2. 配置Hibernate属性:在Hibernate的配置文件(hibernate.cfg.xml)中,需要定义连接池的相关参数。例如: ```xml <property name="hibernate.connection.provider_class">org.hibernate.connection....
配置好连接池后,Hibernate会在应用启动时初始化Proxool,并在运行期间根据配置动态管理连接。通过监控这些参数,我们可以有效地控制数据库连接的生命周期,确保应用在高效和稳定的状态下运行。 总的来说,理解和...
C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着非常重要的角色,它能够有效地管理数据库连接,提高系统性能,减少数据库资源...
在Java的持久化框架中,Hibernate是一个非常流行的ORM(对象关系映射)工具,它能够将数据库中的数据与Java对象进行映射,从而简化数据库操作。"Hibernate自动生成持久化类和映射文件"这个话题主要涉及如何利用...
标题“hibernate连接池之tomcat6的配置”涉及到的是如何在Tomcat6服务器中配置Hibernate连接池,以便高效管理数据库连接。这通常是为了优化应用程序的性能和资源利用。以下将详细介绍相关知识点: 1. **Hibernate**...
Hibernate3是Hibernate系列的第三个主要版本,它提供了一个持久化模型,通过XML或注解方式将Java对象映射到数据库表,使得开发者可以进行面向对象编程而不是传统的SQL查询,提高了开发效率。 接下来,我们讨论C3P0...
总的来说,使用Hibernate连接数据库注册项目涉及到多个步骤,包括配置文件的设置、实体类的定义、SessionFactory的创建、事务管理以及各种持久化操作。熟悉这些知识点能帮助开发者高效地实现Java应用与数据库的交互...
在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者能够更加专注于业务逻辑而不是底层的数据访问细节。然而,当涉及到多模块整合或已有自定义数据库连接池时,可能需要扩展...
在Java持久化框架中,Hibernate是非常流行的ORM(对象关系映射)工具之一。为了更好地管理和优化数据库连接资源,Hibernate支持多种连接池技术,例如c3p0和Proxool等。本文将详细介绍如何在Hibernate中配置这些连接...
- **C3P0**: 是一款开源的JDBC连接池组件,它的设计目标是使开发者能够快速地管理和配置数据库连接池。C3P0提供了一系列的功能来管理数据库连接,包括自动连接创建、断开检测以及重连机制等。 #### 二、Hibernate与...
Hibernate是一款强大的Java持久化框架,它简化了数据库操作,使得开发人员可以更加专注于业务逻辑而不是数据库交互。在“hibernate查询、连接池、二级缓存”这个主题中,我们将深入探讨这三个关键概念。 首先,让...
接下来,我们引入Apache DBCP(Database Connection Pool),这是一个基于Apache Commons Pool对象池实现的数据库连接池。连接池的作用是复用数据库连接,减少创建和销毁连接的开销,提高系统性能。DBCP配置通常包括...
SessionFactory是Hibernate的核心组件,文档详细讲解了如何配置SessionFactory,包括编程配置、用户自定义JDBC连接和使用Hibernate提供的连接池。 文档中还特别强调了配置属性,如SQL方言、外连接抓取、二进制流...
在Java Web开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使开发者能够更专注于业务逻辑而不是底层数据存储。而`hibernate.cfg.xml`文件是Hibernate的核心配置文件,用于设置数据库连接参数、...
在Java世界中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是底层的SQL...通过学习和实践,开发者可以更高效地利用Hibernate实现数据持久化,从而提高开发效率。
Hibernate是Java开发者常用的...掌握Hibernate的配置、持久化类的设计和O/R映射原理,将极大地提升Java开发者的数据库操作效率。在实际项目中,根据具体需求灵活运用这些知识点,可以构建出稳定、高效的数据库访问层。