究竟什么是DAO?

架构师之路

共 667字,需浏览 2分钟

 ·

2021-02-09 04:48

新的尝试,30s聊架构,双击爱心


什么时候进行DAO层的抽象?

一个业务系统最初的后端结构如上:
(1)web-server层从db层获取数据并进行加工处理;
(2)db层存储数据;

此时,web-server层如何获取底层的数据呢?
web-server层获取数据的一段伪代码如上,不用纠结代码的细节,也不用纠结不同编程语言与不同数据库驱动的差异,其获取数据的过程大致为:
(1)创建一个与数据库的连接,初始化资源;
(2)根据业务拼装一个SQL语句;
(3)通过连接执行SQL语句,并获得结果集;
(4)通过游标遍历结果集,取出每行数据,亦可从每行数据中取出属性数据;
(5)关闭数据库连接,回收资源;

随着业务越来越复杂,每次都这么获取数据,非常低效,有大量冗余、重复、每次必写的代码。

如何让数据的获取更加高效快捷呢?
可以通过技术手段实现:
(1)表的映射;
(2)属性成员的映射;
(3)SQL函数的映射;

绝大部分公司正在用ORM,DAO等技术,进行分层抽象,提高数据获取的效率,屏蔽连接,游标,结果集这些复杂性。

这就是DAO的由来

一个新的尝试,看30s-60s能不能讲透一个技术点。

扫码关注“架构师之路”视频号


如果大家喜欢,我尽量坚持下去。
希望大家有收获,你的支持是我前进的动力。
DAO,讲透了吗?
浏览 43
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报