数据持久化Hibernate的标准数据库连接池配置(转)

转自: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连接数据库的方式,具体差异本人尚不完全
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hibernate 是一种 Java ORM 框架,它可以通过简数据访问层的编程方式,帮助开发者实现对象与关系之间的映射,从而实现数据库数据持久Hibernate 提供了一种对象关系映射(ORM)的思想,它将 Java 对象和数据库之间的映射关系定义在一个 XML 文件中,通过 Hibernate 的 SessionFactory 来管理 Session,通过 Session 就可以实现对数据库的增删改查。 Hibernate 实现数据库数据持久的主要步骤如下: 1. 定义实体类:Hibernate 的映射文件通常与实体类对应,需要定义实体类并在映射文件中进行配置。 2. 配置映射文件:使用 Hibernate,需要定义实体类与数据库表之间的映射关系,通过 XML 文件进行配置。 3. 配置 Hibernate:在 Hibernate配置文件中定义数据库连接Hibernate 的一些参数,如数据库类型、用户名、密码、数据库连接等。 4. 创建 SessionFactory:使用 Hibernate 的 SessionFactory 来管理 Session,SessionFactory 是一个比较重量级的对象,需要在应用程序启动时进行初始。 5. 创建 Session:通过 SessionFactory 来创建 Session,Session 是一个轻量级的对象,每个线程通常对应一个 Session。 6. 操作数据库:使用 Session 对象来进行数据库的增删改查操作,Session 提供了一系列的方法,如 save、update、delete、get、createQuery 等。 7. 提交事务:使用 Hibernate 的事务管理机制,对数据库操作进行事务控制,确保数据的一致性和完整性。 需要注意的是,Hibernate 可以自动完成对象与关系之间的映射,不需要手动编写 SQL 语句,但在实际使用中还需要对 Hibernate配置进行优和调优,以提高性能和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值