hibernate的学习
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:实现HQLSQL转换。 (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对象将提交操作结果到数据库中,否则事务将回滚。
7、编程步骤
使用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的相应方法来操作数据库,将对象信息持久化到数据库
上面的资料都是来自于参考书,现在我就根据这些资料进行实际操作
8、实际操作步骤