数据持久层(03)_持久层的需求

原创 2004年07月12日 16:19:00

持久层的需求

文中对持久层提出了28条要求,几乎包括了所有的数据库操作,列出主题如下:

  1. 多种持久机制。(文本文件、关系数据库、对象-关系数据库、层次数据库、网络数据库、对象数据库等),本文主要讨论关系数据库。
  2. 对持久机制进行完整的封装。不必写任何其它关于持久层的代码,中需要发送save,delete,retrieve消息给一个对象。
  3. 基于条件的我多对象操作。支持根据一定条件同时返回(删除)多个对象的情况。
  4. 基于关联的多对象操作。
  5. 支持事务。
  6. 扩展性。你可以增加新的类或者属性,并且能容易的变更持久机制。
  7. 对象标识符。支持主键
  8. 组合键
  9. 多键
    游标
  10. 评估结果集大小先确定有多少持久对象会被这个操作影响。
  11. 代理支持用一个标识代表一个对象,可减少开销。
  12. 记录支持返回记录而不是对象。
  13. 多种体系结构。
  14. 不同数据库版本和厂商
  15. 多连接
  16. 连接池
  17. 专用(native)和非专用驱动。如:ODBC、JDBC、第三方专用驱动等
  18. 语言绑定。
  19. 映射的灵活性。支持映射类层次结构有三种主要的方式。
  20. 生成数据库结构。。类似CASE工具
  21. 关系遍历。
  22. SQL查询。尽管在面向对象的代码中写SQL查询是对封装原则的公然背(这样会直接耦全应用程序与数据库结构),但是持久层还是要支持这种情况!(why? 性能!)
  23. 调用存储过程。虽然要避免使用难于移植的存储过程,但是偶尔还是要用到的。
  24. 缓冲区。
  25. 锁。可以指定使用悲观锁或者乐观锁
  26. 支持管理工具。运行于可被维护的元数据上。
  27. 运行时的配置。如:游标的大小、持久机制的名字/位置等。


总结:持久层应该使程序开发者不用关心它们的对象是如何存储的。另一方面:也允许DBA自由的修改数据库结构,而不用但心现有的B 程序引入bug。

Spring总结4—对持久层的支持(附:事务管理)

Spring对持久层采用的策略 没有重新实现新的持久层,只是对现有持久层方案进行封装,更利于使用 采用DAO模式 提供了大量的模板类来简化编程(HibernateTemplate、JdbcTempl...
  • u010796790
  • u010796790
  • 2016年04月24日 21:06
  • 1235

Hibernate持久层(原理、基本流程)

Hibernate持久层 Java中对象的持久化有3种方式: (1)序列化对象,存到格式化的文本中; (2)将对象持久化到XML文档中; (3)持久到数据库中,一般指关系型数据库。   以...
  • Songjs19931206
  • Songjs19931206
  • 2015年08月16日 12:28
  • 1792

[原创].Net下的数据持久层DAL

前几天正好解决了个通用数据持久访问层,特此拿出来奉献下~~~鲜花的鲜花,鸡蛋的鸡蛋~~~嘿嘿!     特点:          1。适合中小企业数据访问架构,其实大架构也没问题的,毕竟数据处理都放在...
  • fjw8205
  • fjw8205
  • 2007年09月11日 14:30
  • 1287

理解java三层架构:持久层、业务层、表现层

java三层架构最简单的介绍。
  • m0_38021128
  • m0_38021128
  • 2017年04月06日 09:28
  • 1920

持久层设计与实施

持久层设计与实施 系统工程=程序+文档,程序是由逻辑结构+数据构成,那么对于数据的处理就显得格外重要。一个程序中会用到很多数据,然而不是所有的数据都需要存入数据库。我们在设计系统的时候应该如何做出选...
  • xiaobozhu
  • xiaobozhu
  • 2015年07月07日 21:34
  • 882

J2EE的表现层、持久层、业务层

为了实现web层(struts)和持久层(Hibernate)之间的松散耦合,我们采用业务代表(Business Delegate)和DAO(Data Access Object)两种模式。DAO模式...
  • king0406
  • king0406
  • 2016年05月22日 20:12
  • 1523

Spring boot学习笔记 003——Spring boot持久层

后续笔记将更新。
  • u012369153
  • u012369153
  • 2016年12月09日 01:52
  • 859

JAVA三层架构,持久层,业务层,表现层的理解

SSH:Struts(表示层 )+Spring(业务层)+Hibernate(持久层)Struts: Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。在 MVC框架 中,...
  • ljf_study
  • ljf_study
  • 2017年03月21日 16:22
  • 8409

【零】ODB - C++ 持久层框架ODB

C++持久层框架ODB http://www.codesynthesis.com/products/odb/ 11款C++持久层框架 http://www.oschina.net/project...
  • ClamReason
  • ClamReason
  • 2015年08月13日 09:32
  • 1335

spring 持久层

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1...
  • u012843272
  • u012843272
  • 2014年01月11日 21:28
  • 577
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据持久层(03)_持久层的需求
举报原因:
原因补充:

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