Struts2.5+Hibernate3.1+Spring应用开发实例(图)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Struts2.5+Hibernate3.1+Spring应用开发实例.

(Hibernate和Spring是新的知识点,先单独强化,然后再整合训练)

任务一:Hibernate(10课时)

该任务包括两个部分内容

一是Hibernate的基础知识,二是实际完成一个Hibernate应用。

要求:掌握Hibernate的基础知识,掌握开发Hibernate应用的方法。

任务二:Sping(10课时)

该任务包括两个部分内容

一是介绍Spring的基础知识,二是完成一个Spirng 应用。

要求:掌握Spring的基础知识,掌握开发Spirng应用的方法。

任务三:Hibernate和Spring的联合开发(8课时)

使用Hibernate和Spring框架完成Java应用开发

要求:掌握使用Hibernate和Spring框架开发Java应用程序的过程。

任务四:基于Struts+Hibernate+Spring的网上购物系统开发(28课时)

结合Hibernate和Spring改写《Java Web 应用开发项目教程》的前台

要求:掌握使用Struts+Hibernate+Spring框架开发网上购物系统的方法

实训要求:

1.每位同学独立完成

2.每部分内容按时提交代码和学习报告(总成绩由每次的节点成绩统计获得)

软件环境需求:

1.操作系统:WindowsXP

2.数据库及驱动程序:Microsoft SQLServer 2005 JDBC

3.JDK: JDK6

4.IDE:MyEclipse7.0

5.服务器:Tomcat

6.0

任务一Hibernate

1.1Hibernate基础知识

1.Hibernate简介

Hibernate是一种Java语言下的对象-关系映射解决方案,它是一种自由、开源的轻量级框架,用于将面向对象的对象模型映射到传统的关系数据库中。

Hibernate对JDBC进行了轻量级的对象封装,不仅提供从Java数据类型到SQL数据类型的ORM映射,还提供数据查询和数据缓存功能,大幅度减少开发时人工使用SQL 和JDBC 处理数据的时间,使得Java程序员可以完全使用面向对象的编程思维通过Hibernata API操作关系数据库。Hibernate还拥有完全面向对象的查询语言HQL。因此,Hibernate将开发者从传统的数据库编程中解脱出来,为数据库外加了一层面向对象的外衣,这样开发人员不需要再编写繁琐的SQL语句,Java程序中所有对数据的操作都会交给Hibernate处理和完成。

Hibernate为轻量级的ORM开源框架,因此它兼具了轻量级框架技术和对象-关系映射技术的特点:

⑴ Hibernate是开放源代码的,允许开发人员在需要的时候研究源代码、改写源代码,并且具有详细的参考文档,便于学习和掌握。

⑵简单灵活且易于扩展,Hibernate不像EJB那样需要很多的类和配置属性,它只需一个运行阶段的配置文件以及为每个要持久化的应用对象指定映射文件。另外Hibernate框架无侵入性,应用程序不需要依赖该框架,不需要继承Hibernate中的类和其中特定的语义,只需创建Java对象和相关的映射文件,将持久化对象的工作交给Hibernate。

⑶对容器的不依赖性。Hibernate不同于EJB,Hibernate不需要特殊的容器,Hibernate 可用于任何环境,从独立应用到企业应用服务器。

⑷ Hibernate框架封装了数据库持久层的大多数技术细节,如数据库连接、事务管理、SQL语句生成等。持久层中大多数的编码都是些重复的工作,使用Hibernate框架可以将开发人员从大量重复的JDBC编码和SQL语句中解脱出来。

⑸面向对象的设计。Hibernate支持所有的面向对象特性,包括继承、多态、自定义对象类型和集合。Hibernate还提供了面向对象的HQL语言,Hibernate框架自动将HQL语句编译成数据库特定的SQL语句,并缓存起来以便复用。Hibernate中的映射机制将对象映射到了数据库表中,从而使得开发人员可以以面向对象的思想来操作关系数据库,而无需考虑关系数据库中的细节。

⑹性能优秀。Hibernate实现了很多持久层的机制,如数据缓存机制、对多种连接池的支持、批处理的优化机制以及延迟加载机制。这些机制的实现对上层完全屏蔽,以可配置化的方式提供,开发人员无需关心其实现细节,只需添加配置项就可使用。正确地使用这些机制可以大幅度提高系统的性能。

⑺ Hibernate可以与多种Web服务器、应用服务器良好集成,并且支持几乎所有流行的数据库服务器,并具有很好的移植性,只需要简单的修改配置文件,即可实现数据库之间的切

换。

2.对象-关系映射

对象-关系映射是Hibernate框架中的理论基础。对象-关系映射即将数据库中的关系表映射为持久化类,从而将对数据库表中的操作转换为对持久化类及其属性的操作,使得数据的操作和管理分离。

第一章介绍过对象模型和关系模型之间存在阻抗不匹配。因此在持久层的设计时,需要将对象的状态映射到关系数据库的数据上,以便提供透明的持久化,对象-关系映射在这里充当的就是这两个模型之间的桥梁作用,来解决不匹配。

通常,对象模型中的持久化类会对应关系数据库中的表,而每个类的实例化对应着表中的一行,即一条记录,如表。

对象-关系映射

从表2-1中看到,类直接映射成数据库中的表,其中类的属性对应成数据库的列,而类的实例化对象对应到数据库中的记录。这样以后程序开发过程中需要操作数据表时,只需操作相应类的实例,而不必关心所操作的数据表。

归纳起来,映射的基本原则如下:

➢对象模型中的类映射成数据库中的表

➢对象模型中的对象标识符映射成表中的主键。

➢对象模型中的类属性映射成数据库表中的列(字段)。

➢对象模型中的属性类型映射成表中的域。

➢对象模型中的类继承和关联关系映射成数据库中的多个相关表。

应当注意,由于对象模型和关系模型的原则不一样,因此对象模型中的类和关系模型中的表并不一定是一一对应的。同样,类的属性和表的字段也不一定是一一对应的。

在Hibernate中,使用元数据来描述对象-关系映射,在XML映射文件定义实体类和数据表之间的关系,将对象自动持久化到关系数据库中

采用XML文件配置对象-关系具有以下优点:

➢软件人员可以独立设计成域模型,不必强迫遵守任何规范。

➢数据库设计人员可以独立设计数据模型,不必强迫遵守任何规范。

➢对象-关系映射不依赖于任何程序代码,如果需要修改对象-关系映射,只要修改XML配置文件,不需要修改任何程序,提高了软件的灵活性,并且使维护更加方便。

相关文档
最新文档