GGGGSR1
2021-07-15 00:43
采纳率: 50%
浏览 75
已采纳

service层和dao层里的方法明明一样,实现类不调用dao层,而调用service

最近学习ssm框架,teacher讲课的时候都会创建dao层和service里边方法一摸一样,目前可能是我自己太迷茫,总觉着不能理解这种做法。有giegie能解释下吗,这三者如果在真实的开发中,都是饰演着什么角色吗?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 404警告 2021-07-15 08:51
    已采纳

    dao全称Data Access Object,数据访问对象,是一种设计模式。
    程序里是专门负责与数据库进行交互,进行增删改查的部分。
    service层则是处理业务需求的部分。
    之所以不把这两部分写在一起是为了解耦和
    举个例子,有很多不同的功能可能会用到相同的访问数据库的方法
    后台接收到前台传来的参数,分给不同的service层方法进行实现
    service层方法再根据业务需求调用dao层的方法访问数据库获取数据
    分成service和dao两层可以使得一些方法不用重复写,提高代码复用性

    1 打赏 评论
  • 走一步-再走一步 2021-07-15 07:54

    一般dao层 是和数据库交互的,比如Mybatis中的dao层 是MapperProxy代理生成的代理类,你看到的是接口其实在spring里面实例化的是一个class

    service 层一般是定义的对外交互的接口层,给外部系统暴露接口使用,名称不一定要一模一样,只不过名称代表的意思一样即可,为了提高可读性

    1 打赏 评论
  • 11Jeffrey 2021-07-15 10:03

    简单来说:
    controller层,页面直接交互层,调用service;
    service层,就是写逻辑、接收处理controller层传来的数据,处理返回dao层查到的数据;
    dao层,就是查数据库使用的;

    打赏 评论

相关推荐 更多相似问题