究竟什么是DAO?
原创
58沈剑
架构师之路
新的尝试,
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
,讲透了吗?
预览时标签不可点
阅读原文
微信扫一扫
关注该公众号
继续滑动看下一个
轻触阅读原文
架构师之路
向上滑动看下一个
知道了
微信扫一扫
使用小程序
取消
允许
取消
允许
×
分析
微信扫一扫可打开此内容,
使用完整服务
:
,
,
,
,
,
,
,
,
,
,
,
,
。
视频
小程序
赞
,轻点两下取消赞
在看
,轻点两下取消在看
分享
留言
收藏
听过