前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >究竟什么是DAO?

究竟什么是DAO?

作者头像
架构师之路
发布2021-02-26 15:02:13
7180
发布2021-02-26 15:02:13
举报
文章被收录于专栏:架构师之路架构师之路

什么时候进行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能不能讲透一个技术点。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-02-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档