文档介绍:Hibernate持久化概述
课程内容
数据持久化的介绍
ORM的概念及实现
对象--关系映射的概念
Hibernate的体系结构
熟悉持久化及Java的数据库处理技术
了解对象--关系映射的概念
能够创建Hibernate应用程序
表示层
业务层
持久层
数据库
Struts框架
Spring框架
Hibernate框架
OOP
OOA
OOD
O
R
O/R Mapping
不匹配
持久化介绍
数据的持久化操作,一般情况下都是将数据“固化”到磁盘中。
到目前为止,有三种媒介常用于永久性的保存数据,一是格式化的文本文件,二是XML文件,三则是当今最流行的数据库系统。
关系型数据库存放的只能是关系数据,而非面向对象的数据。
内存中的对象之间存在着关联与继承的关系,而在数据库中,关系数据是无法直接表达多对多的关联与继承关系的。
Java的数据库处理技术
通过Java语言实现数据的持久化操作,最常见的就是通过JDBC编程进行数据库的操作。
JDBC编程访问数据库,虽然效率较高,但同时它又需要在程序中大量的嵌套SQL语句,使得以后在程序遇到问题需要维护或升级时,变得比较麻烦。
Hibernate中间件是一个基于Java的、开源的持久化中间件,它对JDBC进行了轻量级的封装。同时还提供了ORM映射、数据查询和数据缓存等功能。我们可以很方便的通过Hibernate API进行数据库操作。
持久层技术
应用层
数据层
图9-3 双层体系结构模型
随着计算机软件技术的发展,应用软件的体系结构也由最初的单层结构向双层、三层甚至多层结构发展。
双层软件模型实现了数据层与应用层的分离。
其中应用层只负责接收用户输入的数据,然后进行业务逻辑的处理以及将处理后的结果返回给用户等工作。
数据层则只负责数据的持久化操作,保存业务中的持久化数据。
双层体系的软件结构模型如图9-3所示:
持久化层-O/R Mapping
基于B/S的典型三层架构
如何分层?
业务逻辑层和持久化层绝不要依赖于展现层。
使用假设法测试。
例子:1、一个显示课程考试分数的列表。现在要将不及格的分数用红色字体显示(低于60分)。
2、搜索。
三层体系结构
表示层
数据层
业务逻辑层
图9-4三层体系结构模型
三层体系结构的模型分为表示层、业务逻辑层与数据层。实际上它是把双层结构中的应用层划分为了表示层与业务逻辑层。
表示层:提供与用户进行交互(显示与收集数据)的界面。
业务逻辑层:用于进行各种业务逻辑的处理,如验证表单数据、保存数据到数据库等操作。
数据层:负责存放和管理应用的持久性业务数据。
四层结构
目前,也有一些开发人员使用四层式的软件开发模式,该模式进一步将三层模式中的业务逻辑层分离出一个单独的持久层,进行数据的持久化操作。
一般来说,这种开发模式对大型的软件项目还是非常有用的。以下是四层体系结构模型的分析:
表示层:提供与用户进行交互的界面。
业务逻辑层:进行软件核心业务逻辑的处理。
持久层:用于进行对象的持久化操作。
数据层:用于保存持久化数据。
ORM概念与实现
ORM(Object Relational Mapping)的中文意思为对象--关系映射,它是一种解决面向对象与关系数据库存在的不匹配的技术。
字母O表示“对象”(Object),而R则表示“关系”(Relational)。
几乎在所有的程序中,都存在对象关系数据库。在业务逻辑层和用户界面层中,程序是面向对象的。
当对象信息发生变化时,我们就需要把对象的信息保存到关系数据库中。