Java Web应用开发技术 教学课件 任文娟 第8章 Hibernate框架的应用.ppt
文本预览下载声明
第8章 Hibernate框架的基本应用 本章导航 本章主要介绍Hibernate框架的基础知识及与Struts的结合使用。通过本章的学习,将帮您解决如下几个问题: ? Hibernate框架结构是怎样的? ? Hibernate的工作原理是怎样的? ? Hibernate有哪些常用的API? ? 如何搭建Hibernate开发环境? ? 如何利用Hibernate开发应用程序? ? 如何对Struts与Hibernate进行整合开发? 本章目标 通过本章的学习,读者应达到如下学习目标: ? 了解Hibernate的框架结构; ? 掌握Hibernate的工作原理; ? 学会如何应用Hibernate框架进行开发; ? 学会Struts与Hibernate整合开发。 本章内容 8.1 Hibernate简介 1. 持久化层简介 在目前的企业级应用系统设计中,MVC为主要的系统架构模式。MVC中的M层包含了复杂的业务逻辑、数据逻辑以及数据存取机制,如JDBC的连接、SQL生成和Statement创建,还有Result结果集的读取等。 目前我们采用的是面向对象的编程思想,而数据库模型通常是关系数据库,这两者的思考方式不一样,这必然产生了开发过程中的不协调。为了屏蔽底层数据库的操作,以面向对象的方式提供给开发者操作数据库中数据的接口。可以把数据访问细节和业务逻辑分开,把数据访问作为单独的持久化层。该层负责应用到数据库的数据存储,也负责数据的检索和更新。 持久化层封装了数据访问细节,为业务逻辑层提供了面向对象的API。完善的持久化层应该达到以下目标: 代码可重用性高,能够完成所有的数据库访问操作。 如果需要的话,能够支持多种数据库平台。 具有相对独立性,当持久化层的实现发生变化,不会影响上层的实现。 那么,如何实现持久化层呢?对于复杂的数据模型,直接通过JDBC编程来实现健壮的持久化层需要有专业的知识,对于企业应用的开发人员,花费大量时间从头开发自己的持久化层不是很可行。 目前在持久化层领域,已经出现了许多优秀的ORM(Object Relation Mapping,对象关系映射)软件,有的是商业性的,有的是开发源代码的。Hibernate就是一种越来越受欢迎的开发源代码的ORM软件。ORM软件具有中间件的特性。中间件是在应用程序和系统之间的连接管道。Hibernate可以看成是连接Java应用程序和关系数据库的管道。 Hibernate作为中间件,可以为任何一个需要访问关系数据库的Java应用服务。中间件的另一个特点是具有透明性,作为Hibernate的使用者,无需关心它是如何实现的,只需要知道如何访问它的接口就行了。 2.Hibernate框架简介 Hibernate是一个功能强大的、高效率的O/R持久化查询工具。它对JDBC进行轻量级的对象封装,使Java程序员可以随心所欲地使用对象编程思想来操纵数据库。它提供一个易用的框架来实现把一个面向对象的域模型映射到一传统的关系数据库。它不仅负责从Java类到数据库表格(以及来自Java数据类型的SQL数据类型)的映射,而且还提供数据查询和检索能力,并能大大减少花在SQL和JDBC手工数据处理上的开发时间。 另外,Hibernate拥有一种功能非常强大的查询语言(HQL,Hi bernateQuery Language ),这种语言与SQL非常相似,便于开发人员掌握。更重要的是,HQL完全是面向对象的,查询的是持久对象,而不是数据库的记录。可以用它来支持多态、继承、关联等关系。 8.2 一个简单的Hibernate应用程序 为了让大家对Hibernate应用程序有个简单的了解,本章将从一个相对简单的例子出发,来阐述Hibernate的开发方法,为了阐述Hibernate的一些重要思想,在该示例程序中,将创建一些消息对象,消息对象中包含消息标题和消息内容,创建对象后将其保存在数据库中,然后对它们进行查询。 1.Hibernate的下载与安装 Hibernate版本差别不大,在此使用Hibernate3.3.2GA,下载时只需要下载Hibernate核心部分即可,windows平台下载zip包,Linux平台下载tar包。下载后得到hibernate-distribution-3.3.2.GA-dist.zip压缩文件,将该文件解压后,会看到在该路径下有一个hibernate3.jar的压缩文件,该文件是hibernate的核心类库文件,该路径下还有一个lib文件夹,该文件夹中包含了Hibernate编译和运行的第三方类库。将hibernate3.jar文件复制到需要Hibernate的应用中,如果应用需要其他第三方类库,则还需要复制其他第三
显示全部