在Myeclipse中Hibernate框架的配置过程(图文)

作为JAVA开发常用的IDE,Myeclipse让开发变得更简捷

作为实现了ORM(对象关系映射)并有诸多优点的框架,Hibernate是的开发更对象化,封装jdbc+简化DAO层+ORM(实现数据持久化

hibernate优点:
1、封装了jdbc,简化了很多重复性代码。
2、简化了DAO层编码工作,使开发更对象化了。
3、移植性好,支持各种数据库,如果换个数据库只要在 配置文件中变换配置就可以了,不用改变hibernate代码。
4、支持透明持久化,因为hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性。所以说它是一个轻量级框架。
 
总之,数据持久化是解决程序与数据库之间交互访问的问题,使程序不直接访问数据库,而是直接访问Session会话,然后由Session会话与数据库“打交道”。只要确保,程序每次访问Session中的数据时,与数据库中的数据保持一致,就不会出现错误。
 
Myeclipse中Hibernate手动配置
配置前准备工作:1.在Hibernate官方主页下载需要的Jar包,官网地址:www.hibernate.org
        下载hibernate4.1.4.Final-source+jar(此处以此为例)
        2.创建好需要使用Hibernate框架的WebProject,此处WebProject名字为MyBlog.
Configure Steps:
   一.创建hibernate.cfg.xml文件并配置之
   1.将hibernate4.1.4.Final-source+jar\lib\required目录(directory)下的jar包复制添加到/MyBlog/WebRoot/WEB-INF/lib下(注意此处创建WebProject时候即自动生成了此lib文件夹,不需要自己创建)
   2.在/MyBlog/src目录下new一个名称为hibernate.cfg.xml文件。(此文件为hibernate的核心配置文件,作用:配置数据库连接、运行时所需的各种属性,默认文件名为“hibernate.cfg.xml”)
     3. 在Web App Libaries下找到hibernate-core-4.1.4.Final.jar文件,打开后,找到/org/hibernate/hibernate-configuration-3.0.dtd(此文件规定了xml应该出现的节点,dtd:document type definition),打开此文件,然后将声明部分<!DOCTYPE······>复制后添加到hibernate.cfg.xml文件中——目的:按照hibernate规定的方式书写xml,并且让hibernate能够识别并解析之
如图:
   
   4.在hibernate.cfg.xml文件中添加根节点:<hibernate-configuration></hibernate-configuration>,此标签内conment如tagName,为hibernate配置信息。
   5.在根节点下添加子节点:<session-factory></session-factory>,此节点用来生成session
   6.在session-factory内创建property节点,此节点用来定义hibernate连接数据库和数据库操作的基本配置信息
      注意:相比JDBC直接连接数据库,此处多了一个dialect属性,即方言。    
<hibernate-configuration>
    <session-factory>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
        <property name="connection.url"></property>
        <property name="connection.driver_class"></property>
        <property name="dialect">org.hibernate.dialect.MySQL5Dialect.class</property>
    </session-factory>
</hibernate-configuration>

ps:dtd文件,一种文件格式,所有的框架中都有此文件,用来定制文档类型,如图:

选中部分为声明部分,下方内容部分规定了XML文件中应该出现的节点的具体信息,包括名称、数量等

二.创建持久化类(即实体类entity),并使该类实现java.io.Serializable 接口,添加默认构造方法

  >创建位置:在src下创建po包,然后在package po下创建class  

  >po包下所有类需要实现java.io.Serializable接口

  >po包下的所有类必须有默认构造方法(即jvm自带的无参构造方法),如果添加了含参构造函数,则必须添加无参构造函数。

三.创建并配置映射文件*.hbm.xml——创建ClassNamel.hbm.xml文件并配置之(此项意在建立持久化类和数据库表之间的一一映射关系)

  1.首先,在po包下创建ClassName(可缩略).hbm.xml文件

  2.然后, 在Web App Libaries下找到hibernate-core-4.1.4.Final.jar文件,打开后,找到/org/hibernate/hibernate-mapping-3.0.dtd(org.hibernate文件夹下的hibernate-mapping-3.0.dtd文件)

  打开此文件,然后将声明部分<!DOCTYPE······>复制后添加到*.hbm.xml文件中——目的:按照hibernate规定的方式书写*.hbm.xml,并且让hibernate能够识别并解析之

  3.创建根节点<hibernate-mapping><hibernate-mapping>

  4.在根节点内创建子节点<class>,并制定class的name和table属性

    name属性:指明java中该class的路径和名称,如name="articles/po/Articles"

    table属性:指明在数据库中该持久化类对应的表名,如:table="articles"

  5.创建<class>节点的子节点<id></id>和<property></property>

    两者异同:两者中都应声明(declares)name="持久化类中属性名"; column="对应表中列名"; type="在java中数据类型"

          不同的是,在id节点内,需要加入子节点<generator class="increment"></generator>

          如果是oracle数据库,则为:<generator class="sequence"></generator>

如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="articles/po/Articles" table="articles">
        <id name="id" column="A_id" type="java.lang.Integer">
        <!-- 添加主键生成策略 -->
        <generator class="increment"></generator>
        </id>
        <property name="articleTitle" column="articleTitle" type="java.lang.String"></property>
        <property name="articleContent" column="articleContent" type="java.lang.String"></property>
        <property name="articleLabel" column="articleLabel" type="java.util.List<String>"></property>
        
    </class>
</hibernate-mapping>

 三.在配置文件中配置映射文件

  在hibernate.cfg.xml中,在<session-factory></session-factory>节点内添加自结束子节点——<mapping resource="映射文件的地址" />

PS:hibernate-mapping-3.0.dtd文件中内容的理解,如图:

  

此中,<!ELEMENT 元素名 元素内容>中的内容代表hibernate-mapping 下的子节点,ATTLIST:属性列表 attribute list

   dtd文件中属性声明语法:<!ATTLIST 元素名 属性名 属性类型 属性限定条件>  一个属性声明可以声明一个元素的多个属性

 

 

 

Hibernate使用Eclipse工具自动生成配置:

转载于:https://www.cnblogs.com/dgyw/p/5734226.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值