Dao层,Mapper层,controller层,service层,model层都有什么作用

原文链接
SSM是sping+springMVC+mybatis集成的框架。
MVC即model view controller。

model层=entity层。

存放我们的实体类,与数据库中的属性值基本保持一致。

service层。

存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。

在实际开发中的Service层可能被处理为实体Service层,而不是接口,业务逻辑直接写在Service(Class,不是Interface)层中,Controller直接调用Service,Service调用Mapper。
当然了,Service之间也是可以互相调用!

mapper层=dao层

现在用mybatis逆向工程生成的mapper层,其实就是dao层。对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,而service层是针对我们controller,也就是针对我们使用者。service的impl是把mapper和service进行整合的文件。

(多说一句,数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作,比如数据通过hibernate插入到数据库中。)

controller层。

控制器,导入service层,因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。
在这里插入图片描述

  • 95
    点赞
  • 239
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
在一个典型的Java Web项目中,通常采用MVC(Model-View-Controller)架构模式,将业务逻辑分,其中DaoMapperService是三个重要的组成部分。下面是它们之间的关系: Dao:负责和数据库进行交互,封装了对数据的访问,提供了简单的接口给上Service进行调用,从而实现了数据访问的解耦。Dao通常是接口的形式,具体实现由Mapper来完成。 Mapper:是Dao的具体实现,通过Mybatis框架提供的SqlSession对象实现了与数据库的交互,封装了对数据库的访问。Mapper使用注解或XML文件定义SQL语句,通过传入参数或返回结果,实现对数据库的增删改查操作。 Service:负责业务逻辑的实现,是应用程序中的核心部分。Service调用DaoMapper提供的方法,封装业务逻辑,提供简单的接口给Controller进行调用。 下面是一个简单的代码示例: UserDao.java ``` public interface UserDao { User getUserById(int id); } ``` UserMapper.xml ``` <select id="getUserById" resultType="User" parameterType="int"> select * from user where id = #{id} </select> ``` UserMapper.java ``` public interface UserMapper { User getUserById(int id); } ``` UserServiceImpl.java ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User getUserById(int id) { return userMapper.getUserById(id); } } ``` UserController.java ``` @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/{id}") public User getUserById(@PathVariable int id) { return userService.getUserById(id); } } ``` 上述代码中,在Controller中调用了Service提供的getUserById方法,而Service又调用了Mapper提供的getUserById方法,最终实现了对数据库中用户信息的查询操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值