07单元7基于Hibernate的Web应用程序开发(校).docVIP

  • 6
  • 0
  • 约1.39万字
  • 约 14页
  • 2017-02-01 发布于重庆
  • 举报

07单元7基于Hibernate的Web应用程序开发(校).doc

07单元7基于Hibernate的Web应用程序开发(校)

单元7 基于Hibernate的Web应用程序开发 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了简单的对象封装,使得Java程序员可以使用面向对象编程思想来操作数据库。Hibernate既可以在Java的客户端程序中使用,也可以JSP/Servlet的Web应用程序中使用,Hibernate可以在Java EE中取代CMP(Container-Managed Persistence),完成数据持久化的重任。 【问题探析】 【问题1】面向对象的开发方法与关系数据库 【问题2】比较JDBC与Hibernate访问数据库的不同点 【问题3】Hibernate的持久化层与应用程序的三层结构的关系如何? 【知识必备】 1.Hibernate简介 Hibernate是一个开源的持久层框架,Hibernate就是位于数据库和应用程序之间的各种ORM中间件。 Hibernate是一种Java语言下的对象关系映射解决方案,它是一种自由、开源的软件。它用来把对象模型表示的对象映射到基于SQL的关系模型结构中,为面向对象的领域模型到传统的关系型模型库的映射提供了一个使用方便的框架。 Hibernate封装了数据库的访问细节,并一直维护着实体类与关系型数据库中数据表之间的映射关系,业务处理可以通过Hibernate提供的API接口进行数据库操作。 2.对象-关系映射 对象-关系映射(Object Relational Mapping,ORM)是一种为了解决面向对象与关系数据库的相互匹配的技术,是随着面向对象的软件开发方法发展而产生的。 在Hibernate框架中,ORM的设计思想得以具体实现。Hibernate主要通过持久化类(*.java)、Hibernate映射文件(*.hbm.xml)和Hibernate配置文件(*.cfg.xml)与数据库进行互交。 3.数据持久化 (1)什么叫持久化? 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。 (2)什么叫持久层? 持久层(Persistence Layer),即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。 (3)为什么要持久化?增加持久层的作用是什么? 增加持久化层提高了开发的效率,使软件的体系结构更加清晰,在代码编写和系统维护方面变得更容易。特别是在大型的应用会更有利。 GoodsInfo的定义如表7-1所示,该类中定义了多个商品的基本属性,并提供了相应的getXXX()和setXXX()方法。 8.Hibernate的映射文件 (1)Hibernate映射文件的基本概念 Hibernate映射文件是Hibernate的核心文件,用来把持久化对象与数据库中的表、持久化对象之间的关系与数据库表之间的关系、持久化对象的属性与数据表字段一一映射起来。 (2)Hibernate映射文件应遵循的规则 Hibernate映射文件应遵循以下规则: ① 映射文件名称和对应的实体类名称一致。 ② 映射文件和对应的实体类保存在同一个位置。 ③ 映射文件必须在hibernate.cfg.xml文件中加载,通过mapping标签的resource标签可以实现加载。 (3)Hibernate映射文件的元素 从表7-2可以看出Hibernate映射文件的根元素为hibernate-mapping,其他元素嵌入在该根元素中,其常用属性主要有package属性,用于指定包名。通常情况下只有一个class元素,每个class元素可以有多个property子元素。 (4)id元素的主要属性 id元素的主要属性如下所示。 ① name属性。 ② column属性。 ③ type属性。 (5)常用内置主键生成策略 id元素的子元素generator用于配置数据表主键的生成策略,通过class属性进行设置。常用内置主键生成策略如下所示。 ① increment。 ② identity。 ③ sequence。 ④ hilo。 ⑤ native。 ⑥ uuid。 ⑦ assigned。 (6)property元素的常用配置属性 property元素用于配置数据表中字段的属性信息,通过该元素能够详细地对数据表的字段进行描述,其常用配置属性如下所示。 ① name:指定持久化类中的属性名称。 ② column:指定数据表中的字段名称。 ③ type:指定数据表中的字段类型。 ④ not-null:指定数据表字段的非空属性,它是一个布尔值。 ⑤ length:指定数据表中的字段长度。 ⑥ unique:指定数据表字段值是否唯一,它是一个布尔值。 ⑦ lazy:设置延迟加载。 9.Hibernate的配置文件 Hibernat

文档评论(0)

1亿VIP精品文档

相关文档