数据持久层(01)_三种持久化方法

原创 2004年07月07日 15:55:00

数据库持久层
读《鲁棒的数据库持久层》

三种持久化方法:

一、在业务类中硬编码SQL

  • 特点:SQL代码到处出现在你的类代码中。任何小的改变教导致代码级的修改。
  • 好处:代码效率很高
  • 缺点:直接耦合了你的业务类与关系数据库结构(Data Schema)
  • 适用:小型应用程序或者原型。

二、在存储过程或单独的数据类中硬编码SQL代码。

  • 特点:编写存储过程或使用ADO
  • 好处:已经将处理交互的部分封闭到了单独的数据类中。
  • 缺点:数据库修改后仍然修改和重新编译(数据类)
  • 适用:原型或少于40、50的业务类的小系统。

三、鲁棒的持久层

  • 特点:将对象映射到某种持久机制(鲁棒的持久层)
  • 好处:应用程序开发者不需要了解关系数据库的结构,数据库结构的简单改动不影响代码。
  • 缺点:对应用程序的性能的影响不可避免。
  • 适用:大规模针对关键业务的应用程序。


(待续)

数据持久化层和DAO层的关系

DAO =Data Access Objects,也就是所谓的数据访问对象,这个对象是和数据打交道的,当然是持久化层的。目前通用的是dao是数据层,也可以说为持久化层,service是逻辑层,也可以叫...
  • woshiliulei0
  • woshiliulei0
  • 2016年02月18日 15:10
  • 2357

理解ORM和数据持久化

一,什么是ORM对象关系映射(Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),用于在关系型数据库和业务实体对象之间作一个映射。从效果上说,它其实是创...
  • u012585964
  • u012585964
  • 2016年09月02日 11:35
  • 4368

数据持久化之四种方式

1. plist属性列表方式: 适用对象:仅仅是Foundation框架中自带的一些类、比如:NSStringNSArray NSDIctionary NSSet NSNumber NS...
  • u012835679
  • u012835679
  • 2016年11月14日 23:39
  • 2399

EF-EntityFrameWork中文名:实体框架(数据持久化框架)

一、 Linq to EF  EF默认使用延迟加载     //数据上下文对象   Entities db = new Entities(); 1.IQueryable支持延迟加载,linq编译...
  • u010265335
  • u010265335
  • 2014年03月10日 13:49
  • 1313

iOS中常用的四种数据持久化方法简介

OS中的数据持久化方式,基本上有以下四种:属性列表、对象归档、SQLite3和Core Data 1.属性列表 涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults ...
  • leikezhu1981
  • leikezhu1981
  • 2014年03月24日 23:10
  • 8597

【SSH之旅】一步步学习Hibernate框架(一):关于持久化

在不引用任何框架下,我们会通过平凡的代码不停的对数据库进行操作,产生了很多冗余的但是又有规律的底层代码,这样频繁的操作数据库和大量的底层代码的重复书写极大的浪费了程序人员的书写,就在这样一种情况下,H...
  • dandanzmc
  • dandanzmc
  • 2014年10月31日 13:59
  • 1716

Java对象在Hibernate持久化层的状态

原文地址 CoderGO : http://leekai.me/?p=205引言Java默认情况是根据内存地址来区分不同的对象,关系数据库则是根据主键值区分不同的行。Hibernate使用对象标识符(...
  • kailee_hust
  • kailee_hust
  • 2016年06月25日 13:19
  • 1589

EJB系列(六)——EJB数据持久化

在之前EJB系列博客中主要介绍了EJB作为业务容器,对业务逻辑的管理。但在另一方面,EJB的应用分为两方面: 1、Session bean和Message-driven bean定义了新的编程模型,以...
  • Daybreak1209
  • Daybreak1209
  • 2016年02月12日 10:36
  • 673

数据持久化的四种方式

查阅了一些资料再加上自己的理解整理出了一份东西,可能信息不全,会再度补充:  1. plist属性列表方式: 适用对象:仅仅是Foundation框架中自带的一些类、比如:NSStringNSA...
  • linfengwenyou
  • linfengwenyou
  • 2015年06月22日 10:21
  • 1660

MyBatis数据持久化(一)准备工作

MyBatis简介mybatis的前生是ibatis,它是一款非常优秀的java持久层框架,所有sql语句写在配置文件中,和另外一款比较知名的orm框架hibernate比起来显得更加小巧灵活,也是企...
  • Rongbo_J
  • Rongbo_J
  • 2015年06月14日 09:30
  • 1716
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据持久层(01)_三种持久化方法
举报原因:
原因补充:

(最多只允许输入30个字)