新的尝试,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
查看评论