第12章 Hibernate持久化技术 Hibernate是一个开放源代码的对象关系映射框架, 它对JDBC进行了轻量级的对象封装。它不仅提供了从 Jav类到数据表之间的映射,也提供了查询和事务机制。 相对于使用JDBC和SQL来手工操作数据库, Hibernate大 大减少了操作数据库的工作量。 本章介绍 Hibernate框架的基本用法 内容包括: Hibernate简介 Hibernate结构体系 核心组件和运行过程
第12章 Hibernate持久化技术 Hibernate是一个开放源代码的对象关系映射框架, 它对JDBC进行了轻量级的对象封装。它不仅提供了从 Java类到数据表之间的映射,也提供了查询和事务机制。 相对于使用JDBC和SQL来手工操作数据库,Hibernate大 大减少了操作数据库的工作量。 本章介绍Hibernate框架的基本用法 内容包括: Hibernate简介 Hibernate结构体系 核心组件和运行过程
第12章 Hibernate持久化技术 121 Hibernate技术简介 12.2 Hibernate软件包的下载与配置 3 Hibernate核心组件 12.4 Hibernate运行过程与编程步骤 125 Hibernate的实体映射 12.6 Hibernate的实体操作与数据查询 127综合案例一一基于 Struts2+ Hibernate的学生信息管 理系统
第12章 Hibernate持久化技术 12.1 Hibernate技术简介 12.2 Hibernate软件包的下载与配置 12.3 Hibernate核心组件 12.4 Hibernate运行过程与编程步骤 12.5 Hibernate的实体映射 12.6 Hibernate的实体操作与数据查询 12.7 综合案例——基于Struts2+Hibernate的学生信息管 理系统
21 Hibernate技术简介 Hibernate是封装了JDBC的一种开源的 对象/关系映射( Object-Relation Mapping,ORM)框架, 使程序员可以使用面向对象的思维来操作数据库
12.1 Hibernate技术简介 Hibernate是封装了JDBC的一种开源的 对象/关系映射(Object-Relation Mapping,ORM)框架, 使程序员可以使用面向对象的思维来操作数据库
1211 Hibernate简介 Hibernate是目前最流行的ORM框架,它是一个面 向Java环境的对象/关系数据库映射工具,是面向对象 的程序设计语言和关系数据库之间的桥梁, Hibernate 真正实现了开发者采用面向对象的方式来操作关系数 据库
12.1.1 Hibernate简介 Hibernate是目前最流行的ORM框架,它是一个面 向Java环境的对象/关系数据库映射工具,是面向对象 的程序设计语言和关系数据库之间的桥梁,Hibernate 真正实现了开发者采用面向对象的方式来操作关系数 据库
1211 Hibernate简介 1.数据持久化的概念 程序中的数据以某种形式保存到某存贮介质中就 称为数据的持久化。有多种技术可以实现数据的持久 化 (1) Serialization:序列化,可将对象存储到文件中。 (2)」DBC:可将对象存储到数据库中。 (3)对象关系映射(ORM:可将对象通过对象/关系映 射存储到关系数据库中 (4)对象数据库(ODB):以对象为存储单位的新型数 据库
12.1.1 Hibernate简介 1. 数据持久化的概念 程序中的数据以某种形式保存到某存贮介质中就 称为数据的持久化。有多种技术可以实现数据的持久 化: (1)Serialization:序列化,可将对象存储到文件中。 (2)JDBC:可将对象存储到数据库中。 (3)对象关系映射(ORM):可将对象通过对象/关系映 射存储到关系数据库中。 (4)对象数据库(ODB):以对象为存储单位的新型数 据库
1211 Hibernate简介 2. ORM ORM的全称是 object/ Relation Mapping,即对象/关 系映射,是为了解决关系数据库和面向对象模型不匹 配而产生的一门非常实用的工程技术,它实现了程序 对象到关系数据库数据的映射,允许开发者采用面向 对象的方式操作数据库。 目前ORM框架的产品非常多, Hibernate是目前最流 行的ORM框架,已经被选作JBos$的持久层解决方案
12.1.1 Hibernate简介 2.ORM ORM的全称是Object/Relation Mapping,即对象/关 系映射,是为了解决关系数据库和面向对象模型不匹 配而产生的一门非常实用的工程技术,它实现了程序 对象到关系数据库数据的映射,允许开发者采用面向 对象的方式操作数据库。 目前ORM框架的产品非常多,Hibernate是目前最流 行的ORM框架,已经被选作JBoss的持久层解决方案
1212 Hibernate的体系结构 Hibernate结构体系如: 由图12-1看到,对于使用 Hibernate框架的开发者,主要 Jaa应用程序或Web应用程序 任务是:设计PO类、编写 Hibernate配置文件和映射文件 Jaa对象(PO) 然后利用 Hibernate ap来操作 数据库。 Hi Hibernate通过配置文件 (hibernate properties X 配置文件 映射文件 hibernate. cfg.xm)和映射文件 (* hbm. xm把Java对象或持久 化对象( Persistence Object,Po) 数据库 映射到数据库的表格,然后通 过操作PO,对数据库中的数据 进行增、删、改、查等操作 121 Hibernate结构体系
12.1.2 Hibernate的体系结构 Hibernate结构体系如: Java 应用程序或 Web 应用程序 Hibernate 数据库 配置文件 映射文件 Java 对象 (PO) 由图12-1看到,对于使用 Hibernate框架的开发者,主要 任务是:设计PO类、编写 Hibernate配置文件和映射文件, 然后利用Hibernate API来操作 数据库。 Hibernate通过配置文件 (hibernate.properties或 hibernate.cfg.xml)和映射文件 (*.hbm.xml)把Java对象或持久 化对象(Persistence Object,PO) 映射到数据库的表格,然后通 过操作PO,对数据库中的数据 进行增、删、改、查等操作。 12-1 Hibernate结构体系
122 Hibernate软件包的下载与配置 在应用程序中,使用 Hibernate,必须首先下载 Hibernate并在应用程序中配置 Hibernate。 1.下载 Hibernate hibernate的官方网站下载地址: htt:! vww. hibernate。org,从该地址可以下载最新版本 的 Hibernate。本教材使用 Hibernate的32.5版本。 2.安装 Hibernate 解压下载的 Hibernate core的zi文件是一个包括源代码 和文档的包,解压后的目录结构及其作用如图12-2所
12.2 Hibernate软件包的下载与配置 在应用程序中,使用Hibernate,必须首先下载 Hibernate并在应用程序中配置Hibernate。 1.下载Hibernate Hibernate的官方网站下载地址: http://www.hibernate.org,从该地址可以下载最新版本 的Hibernate。本教材使用Hibernate的3.2.5版本。 2.安装Hibernate 解压下载的Hibernate Core的zip文件是一个包括源代码 和文档的包,解压后的目录结构及其作用如图12-2所 示
122 Hibernate软件包的下载与配置 hibernate. 2 文件¢)编辑)查看⑩)收藏④)工具①)帮助⑩ Hibernate 有关的使用文 的 E- Hibernate-3.2 日糊第三方jar包 修改日期 文件和文件夹任务 文件夹 0077-3113:02 e 07-7-3113:02 应用案例 2007-7-3113:02 将这个文件夹发 gramar 2007-7-3113:02 共享此文件夹 2011 Hibernate源代 sre 文件夹 zUU77-11:u -7-3113 码 1KBs-Ds批处理文件2007-6-2914:52 可参考例子文 其它位置 A build 35 KB ML File 7-3113:02 件 1SH文件 6-2914 我的文档 目 changelog 3服文本文档 007-7-3111:52 测试用例 共享文档 2. 203 KB Execst Iar 2007-7-3112 规定的一些文 我的电脑 -6-2914:52 法 网上邻居 26M文本文档 6-2914:52 目read K文本文档 7-3111:52 配置文件 Hibernate最 详细信息 重要的包,完 15个对象 234mB我的电脑 成对象与关系 的映射
12.2 Hibernate软件包的下载与配置 有关的使用文 档 应用案例 规定的一些文 法 配置文件 Hibernate 最 重要的包,完 成对象与关系 的映射 Hibernate 第三方jar包 Hibernate源代 码 测试用例 可参考例子文 件
122 Hibernate软件包的下载与配置 在程序开发中,根目录下的 hibernate. jar包是必需的,同时,还会用 到/ib目录下的有关Jar包 使用 Hibernate的核心功能需要的Jar包有8个,缺一不可 (1) hibernate3jar: Hibernate3的基础框架和核心类库。 (2)cgib-213jar:CGLB库, Hibernate用它实现PO字节码的动态生 成。 (3)dom4-161jar:是一个 lava XML apl,用来读写XML文件。 (4) commons-collections-211jar: Apache Commons包中的一个,包 含了一些集合类,功能比 java uti!*强大 (5) commons-logging1.04jar: Apache Commons包中的一个,包含 了日志功能。 (6)antr-27.6ar:实现HQL>SQL转换。 (7) Jta jar:标准的Java事务处理接口。 (8) asm ar:操作Java字节码的类库 开发Web应用项目时,一般可以把根目录下 hibernate3jar文件、Ⅷib目 录下所有的*ar文件拷贝到 WEB-INE\b下即可
12.2 Hibernate软件包的下载与配置 在程序开发中,根目录下的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下即可