首页 > 编程知识 正文

持久层的作用,什么是持久化层

时间:2023-05-05 02:51:11 阅读:246282 作者:3880

持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。
持久化是将程序数据在持久状态和瞬时状态间转换的机制。
JDBC就是一种持久化机制。文件IO也是一种持久化机制。将鲜肉冷藏,吃的时候再解冻的方法也是。将水果做成罐头的方法也是。将人的脏器迅速冷冻,运输,然后解冻给人移植的技术也是。

1.持久层的位置


2.持久层实现模式

混杂模式:混杂模式是持久化功能的原始实现模式。即在业务类中混杂JDBC访问代码,从而提供所需的持久化功能。


基于Data Class的持久层实现模式

    数据类(DataClass)作为业务类与持久层沟通的桥梁,起着承上启下的作用。常见的DAO模式就是这种模式的典型实现。DataClass实际上包含了DAO模式中的DomainClass/Object和Data Accessor Class。DomainClass作为对现实世界的抽象,起着信息携带者的作用,而Data Accessor Class则通过JDBC代码将DomainClass与数据库相关联。


基于现有持久层框架的实现模式

此模式是第二种模式的延伸。DataClasses所包含的Data Accessor和Domain Class数量并没有减少,只是把其中最繁琐的工作—基于JDBC的OR映射工作,交由第三方组件来完成。从而DataAccessor中的繁琐编码工作得到简化。


3.持久层可选方案

 

优 点

缺 点

SQL/JDBC

成熟,流行,使用DAO模式

代码繁杂,可读性差,维护困难,移植困难

Entity Bean

CMP(EJB1.1之后),未来的EJB3

错误的设计,不可移植,依赖性强,不可序列化,不支持多态的关联查询

JDO

简单,透明,标准

不够成熟

Apache OJB

性能、稳定性,属于Apache基金组织

文档资源太少,支持标准太多成了负担(ODMG 3.0,JDO1.0)

iBATIS

可以控制更多的数据库操作细节。实用于遗留系统的改造和对既有数据库的复用

持久层封装不够彻底,只是一个DBHelper

Hibernate

成熟、流行、功能强大。并逐渐发展成Java持久层事实上的标准

不够透明

4.什么是O/RMapping?

对象-关系映射是一门非常实用的工程技术,它实现了Java应用中的对象到关系数据库中的表的自动的(和透明的)持久化,使用元数据(meta data)描述对象与数据库间的映射。

O/R Mapping的优点:

提高生产率(Productivity)   可维护性(Maintainability)

更好性能(Performance)     厂商独立性(Vendorindependence)




SSM框架怎么配置springmvc-config.xml文件Android 获取wifi连接历史记录

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。