层数据的封装.为业务层提供一个面向对象的接口,使得业务逻辑开发人员可以面向业务中的实体进行编码。
通过引入DAO模式,业务逻辑更加清晰,并且富于形象性和描述性,将为日后的维护带来极大的便利。
1.3.3持久层实现类型 ~般说来,持久层实现有三种类型。
1.混杂模式 混杂模式是持久化功能的原始实现模式。
即在业务类中混杂JDBC访问代码,从而提供所需的持久化功能。
这种模式的优点是开发的迅速便捷,对于原型系统或者小型系统应用而言显得别具意义。
但是显然基于这种模式开发的系统,其维护性和扩展性较著,对象属性、数据库结构的变动都将直接导致业务逻辑代码的修改。
实际上混杂模式中并没有一个清晰的所谓“持久层”的逻辑层次。
5 东南大学硕士学位论文 SQL ·------◆ 目目 目目 关系型数据库 Business Classes 图14持久层实现的混杂模型 2. 基于Data Class的持久层实现模式 在这种模式中.数据类(Data Class)作为业务类与持久层沟通的桥梁,起着承上启F的作用。
DAO模式实际上就是这种模式的一个典型实现。
这种模式实现了业务逻辑和数据结构之间的分离。
Data Class作为一个相对独立的逻辑层次,较为清晰地体现了所谓的“持久层”的概念。
底层关系数据的结构变化,可以较好地屏蔽在数据类这个层次,从而避免了对上层的业务逻辑造成影响。
但是这种模型的缺陷也是显而易见的,随着设计层次的增多,编码量的增加相当可观。
相对与混杂模式,基于Data Class的持久层实现模式在使得系统结构上得到较大的提升的同时.项目设计和开发成本也会相应地增高。
繁杂的JDBC代码总得有人去写,单纯依靠自身力量进行设计和编码,这样的问题是难以避免的。
所幸的是,Sun J2EE规范制定小组以及开源群体中的众多力量,已经体会到了这一点,于是我们拥有了EntityBean、JDO、Hibernate、iBatis、Apache OJB等这些杰出的持久层框架。
而基于这些成熟可靠的第三方框架,我们得以从设计与
工作量之间的平衡点中解脱.于是有了第三种解决方案。
目目 SQL ..■————◆ 目目 Business C‘lasses Data Classes 关系型数据库 图1-5基于Data class的持久层实现模式 3. 基于现有持久层框架的实现模式 实际上这种模式是对第二种模式的延伸。
Data Classes所包含的Data Accessor和Domain Class数量并没有减少,只是把其中最为繁琐的工作一基于JDBC的OR映射工作,交给第三方组件完成。
因此DataAccessor中的繁琐编码工作因此得到了简化,而与此同时,伴随持久层框架而来的辅助〕:具也大大减轻了Domain Class的编码负担。
本文主要围绕着这种模式展开研究。
6 第一章绪论 目目 目目 Business Classes Data Classes 关系型数据库 图1-6基于现有持久层框架的实现模式1.3.4持久层框架概述 在Java发展的初级阶段,直接调用JDBC几乎是数据库访问的唯一手段。
随着近年来设计思想和Java技术本身的发展,出现了许多JDBC的封装技术,这些技术为我们的数据库访问层实现提供了更多的选择,目前主流的几套JDBC封装框架包括:Hibernate、Apache OJB、iBaits、JDO、以及J2EE框架中的CMP等。
这些框架以优良的设计大大提高了数.