首页
下载应用
提交文章
关于我们
问卷:你怎么看自由微信?
🔥 热搜 🔥
1
百度
2
今日热点
3
微信公众平台
4
贴吧
5
opgg
6
dnf私服
7
百度贴吧
8
知乎
9
dnf公益服
10
百度傻逼
分类
社会
娱乐
国际
人权
科技
经济
其它
首页
下载应用
提交文章
关于我们
问卷:你怎么看自由微信?
🔥
热搜
🔥
1
百度
2
今日热点
3
微信公众平台
4
贴吧
5
opgg
6
dnf私服
7
百度贴吧
8
知乎
9
dnf公益服
10
百度傻逼
分类
社会
娱乐
国际
人权
科技
经济
其它
白石洲拆迁后,那些上学奔波的孩子都去哪儿了?
一个医保局长之死
给宠物做保姆的中国留学生
本以为吴京大儿子叫“吴所谓”够随意了,听到二儿子名字,真服了
法院4.2元拍卖一瓶雪碧,限自提!被执行人回应:没有更多可供执行财产
生成图片,分享到微信朋友圈
查看原文
其他
究竟什么是DAO?
Original
58沈剑
架构师之路
2022-07-22
收录于合集
#架构
78 个
#分层
5 个
新的尝试,
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
,讲透了吗?
您可能也对以下帖子感兴趣
{{{title}}}
文章有问题?点此查看未经处理的缓存