数据库开发思考、总结

持续更新中,今天修(QingDaoU/GXUOJ)/Onlinejudge的bug去了

DAO和ORM的概念辨析

DAO

DAO(data access object,数据访问对象),是一个面向对象的数据库接口。Data Access Object Pattern(数据访问对象模式) 实际上是将一个项目系统分层结构的角度出发的概念,他将更高层次的对数据源的访问、修改操作抽象封装了在较低的层次

ORM

ORM(Object Relational Mapping,对象关系映射),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换,通过类与数据库表的映射关系,将对象持久化到数据库中

两者差异

按照我的理解,DAO将我们所有更高层次对数据库的操作(由一系列多条语句组合而成)都封装了起来。其并不关乎我们如何具体的去操作数据库,不论是ORM还是直接写SQl语句等,都可以是DAO。

而ORM只是将我们对数据库操作的实现细节(一系列多条语句操作中的一条)封装了起来,可以让我们远离大量的写SQL语句,提高开发效率。

因而DAO在实现其面向对象的数据库接口中可以用到ORM完成其一部分的细节实现,然而由于ORM一般都会带来更多的系统开销,在部分对性能有要求的场景下,还是需要采取手写SQL语句等方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值