关于dao层和service的问题

关于dao层和service的问题

1、个人对于dao和service的作用没有理顺,不知道具体这样定义的意义在哪,是否能举个例子来说明

2、为什么dao和sevice都是interface但是dao确实xml配置,而非service一样impl实现

在此先谢谢拉 O(∩_∩)O

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好:

因为随着项目的增多,我们的代码也越来越多,为了让代码更加清晰,我们一般采用三层架构的思想去写代码:让他们各司其职:(Servlet和controller的作用一样)

http://img1.sycdn.imooc.com//climg/5e19a86609a3e36810450363.jpg

把业务处理都交给service。把查询交给dao。把参数的接收等交给controller。

拿本项目举例:

分为了三层:controller层就只管接收参数,封装实体类,然后调用service层的方法等做一些简单的逻辑。

http://img1.sycdn.imooc.com//climg/5e19a92f09095fda07770633.jpg

service层就做一些业务逻辑上的处理,由于本案例设计的比较简单没有设计到业务代码,但是开发中是会有公司的业务逻辑的:

http://img1.sycdn.imooc.com//climg/5e19aa450995184710470126.jpg

而dao层,就单纯的对数据库进行操作,与数据库打交道。

这样分工明确,如果业务逻辑修改了,直接去改service层的代码就可以了。

2、而为什么service等有写接口和实现类而dao层没有写

是因为按道理来说,我们应该面向接口编程,都应该写实现类和接口,但mybatis为了和代码解耦合,可以使sql代码写到xml里,于是,他底层为接口做了映射,使其可以关联上xml,底层就自动为dao层写一个实现类(底层实现,咱们看不到)。

所以,都是有实现类的,只是dao的是mybatis帮我们底层进行实现了。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 小慧的骑士 提问者 #1
    非常感谢你的回答
    2020-01-12 13:10:03
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师