小言_互联网的博客

究竟什么是DAO?

309人阅读  评论(0)

新的尝试,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,讲透了吗?


转载:https://blog.csdn.net/shenjian58/article/details/113764669
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场