发表于: 2020-05-27 21:33:42
2 1352
今日作为:1.什么是DAO
看了很多的资料,感觉总结下来就是将数据库操作封装起来,普通的JDBC操作是直接在主方法里面进行的,这样不符合JAVA封装的要求
具体来说DAO就是 第一层先定义一个接口,里面有抽象方法 是第一次封装
第二层因为Java定义接口中的抽象方法必须要实现,所以在这里完成对接口的具体操作 第二次封装
第三层定义要具体操作的对象,以及存放传输从数据库来的数据 第三次封装?
第四层完成连接数据库以及对数据库的操作和关闭数据库 第四次封装?
DAO我的理解应该来说是一种对数据库的设计模式,用来保护内部细节,让前端只需要从数据库得到他们想要的结果,而不关心数据在数据库 中是怎么操作的,同时因为多次封装分层代码,在修改或者增加功能时更加的方便
2.JDBC
通过官方给的接口去操作数据库
感觉是基于DAO设计思想,我们在编程的时候只需要通过官方给出的方法去操作数据库就可以了,而不用管是怎么实现的,或者又有点像 Python中的电池?
3.JDBC的模式
双层 :代码直接访问数据源
三层 : 1.前端?用户的交互界面?(不知道这么理解对不对)
2.服务层?前端或者用户请求需要数据,然后告诉了服务层,服务层去第三层(实现层?)要数据,然后知道到的数据告诉第一层? (也不知道对不对)
3.实现层?收到了来自服务层的查找数据的请求,然后去数据库找东西,把找到的数据告诉服务层(第二层)
三层JDBC的优点——这三层任意一层的变化都影响不到其层
比如第一层就像是图形界面,随便可以换自己喜欢的,只要用服务层的接口就好
比如第二层需要换新的代码,只要按照第一和第三层的接口写就好,内部如何完全不用管(封装的好处)
比如第三层换了数据库,所以对操作数据库的操作也要改,但是只要遵循第二层服务层的请求的格式,第一第二层也完全不用动
4.maven
自动下载程序所依赖的jar包,提供一个标准的写程序的文件目录格式,提供打包测试以及发布一条龙(好多资料一长串。。。浓缩之后不知 道对不对)
明天计划: 正式开始写任务1-17
了解一下spring是个什么东西。。。。
今日疑惑:请教一下师兄,DAO和JDBC三层的设计思想是不是可以融合在一起阿?
还一个问题,任务1-17里面的要求为什么感觉和我今天学的这些设计概念这么像?????(求回答 OVO )
评论