hibernate的学习

来源:互联网 发布:黑魂三捏脸数据 编辑:程序博客网 时间:2024/06/06 05:03

1、了解hibernate    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装。它不仅提供从Java类到数据表之间的映射,也提供了查询和事务机制。相对于使用JDBC和SQL来手工操作数据库,Hibernate大大减少操作数据库的工作量。Hibernate是封装了JDBC的一种开源的对象/关系映射(Object-Relation Mapping,ORM)框架 。使程序员可以 使用面向对象的思维来操作数据库。Hibernate是一个面向Java环境的对象/关系数据库映射工具,是面向对象的程序设计语言和关系数据库之间的桥梁,Hibernate真正实现了开发者采用面向对象的方式来操作关系数据库。2、数据持久化的概念  程序中的数据以某种形式保存到某存贮介质中就称为数据的持久化,    如:      Serialization(序列化):可将对象存储到文件中      JDBC:可将对象存储到数据库中      对象关系映射:可将对象通过对象/关系映射存储到关系数据库中      对象数据库(ODB):以对象为存储单位的新型数据库3、Hibernate的体系结构

4、Hibernate软件包的下载与配置 http://hibernate.org/orm/downloads/,在这里没有下载成功,后面有下载成功的包的地址在程序开发中,根目录下的hibernate3.jar包是必需的,同时,还会用到/lib目录下的有关Jar包。使用Hibernate的核心功能需要的Jar包有8个,缺一不可。(1)hibernate3.jar:Hibernate3的基础框架和核心类库。(2)cglib-2.1.3.jar:CGLIB库,Hibernate用它实现PO字节码的动态生成。 (3)dom4j-1.6.1.jar:是一个Java XML API,用来读写XML文件。(4)commons-collections-2.1.1.jar:Apache Commons包中的一个,包含了一些集合类,功能比java.util.*强大。(5)commons-logging-1.0.4.jar:Apache Commons包中的一个,包含了日志功能。(6)antlr-2.7.6.jar:实现HQLSQL转换。(7)jta.jar:标准的Java事务处理接口。(8)asm.jar:操作Java字节码的类库。开发Web应用项目时,一般可以把根目录下hibernate3.jar文件、\lib目录下所有的*.jar文件拷贝到WEB-INF\lib下即可。
5、Hibernate核心组件Hibernate核心组件如图,这些组件按被使用的次序分为5层,上层对下层调用与使用。

(1)Hibernate配置文件主要用来配置数据库连接参数,例如:数据库驱动程序、URL、用户名、密码等。它有两种格式hibernate.properties和hibernate.cfg.xml。两者配置内容基本相同,通常使用后者。(2)映射文件(*.hbm.xml)用来把PO与数据库中的数据表映射起来,是Hibernate核心文件。(3)Configuration类:用来读取Hibernate配置文件,并生成SessionFactory对象。(4)SessionFactory接口:产生Session实例的工厂。(5)Session接口:用来操作PO。它有get()、save()、update()、delete()等方法用来对PO进行加载、保存、更新及删除等操作。它是Hibernate的核心接口。(6)Transaction接口:用来管理Hibernate事务,主要方法有commit()和rollback(),可从Session的beginTransaction()方法生成。(7)Query接口:用来对PO进行查询操作。它可从Session的createQuery()方法生成(8)持久化对象(Persistent Object,PO)可以是普通的JavaBean,唯一特殊的是他们与一个Session相关联6、Hibernate运行过程Hibernate运行过程:(1)应用程序先调用Configuration类,该类读取配置文件和映射文件,根据这些信息生成SessionFactory对象。(2)由SessionFactory对象生成一个Session对象,并用Session对象生成Transaction对象。(3)通过Session对象的方法对PO进行加载、保存、更新、删除等操作;在查询的情况下,通过Session对象生成一个Query对象执行查询操作。(4)如果没有异常, Transaction对象将提交操作结果到数据库中,否则事务将回滚。

使用hibernate编程,首先要创建一个Web工程(或Java工程),然后按以下步骤实现。(1)配置环境,加载hibernate的jar文件,以及连接数据库连接使用的jar文件。(2)编写持久化类(POJO类)。(3)编写映射文件:Xxxxx.hbm.xml,其中,Xxxxx一般采用POJO名称。    提示:该文件可以从已有的工程中复制后修改。(4)编写hibernate配置文件:hibernate.cfg.xml。    提示:该文件可以从已有的工程中复制后修改,在该步中可以利用映射文件信息,实现自动创建数据库。(5)调用Hibernate API,完成所要求的业务处理:    使用Configuration对象的buildSessionFactory()方法创建SessionFactory对象。    使用SessionFactory对象openSession()方法创建Session对象。    使用Session的相应方法来操作数据库,将对象信息持久化到数据库




0 0
原创粉丝点击