SpringBoot 中的mapper,service,controller,model理解

springboot 只是组装了spring和springmvc。

目录直通车

一、SSM(Spring+SpringMVC+MyBatis)架构

1、 SSM的工作原理

(1) SSM系统架构

(2) SSM程序执行流程

2、 MSCM是什么及其作用

(1) controller

(2) model 

(3) service

(4) mapper

二、 SpringBoot + Mybatis三层架构

实例图片及源码


一、SSM(Spring+SpringMVC+MyBatis)架构

这篇文章主要讲MSCM(这是我对mapper,service,controller,model的简称)的实际操作上的作用,已过滤口水话。后面会有实例图片及源码。

1、 SSM的工作原理

如果不先了解工作原理的话,说什么层都是一头雾水。我找了两张比较详细的流程图。

(1) SSM系统架构

(2) SSM程序执行流程

2、 MSCM是什么及其作用

(1) controller

控制层

相当于MVC的C层,controller通过service的接口来控制业务流程,也可通过接收前端传过来的参数进行业务操作。

(2) model 

数据模型层

相当于MVC的M层,存放实体类,与数据库中的属性值基本保持一致。

(3) service

业务逻辑层

主要是针对具体的问题的操作,把一些数据层的操作进行组合,间接与数据库打交道(提供操作数据库的方法)。

要做这一层的话,要先设计接口,在实现类。

(4) mapper

数据存储对象

相当于DAO层,mapper层直接与数据库打交道(执行SQL语句),接口提供给service层。

二、 SpringBoot + Mybatis三层架构

源码架构分析

最近一次更新时间:2019-8-6

我做 Java 开发以来差不多也有一年半的时间了,鄙人才疏尚浅,望君多多指教。当初步入Spring boot 之时,未曾学过Spring,你是否同我一样?一上来就拿了一套代码,想马上使用这套代码实现crud(增删改查),不料想居然连结构都搞不清楚   ^_^,请看下面,认真看完了没看明白,请老铁提刀砍我

实体类这一层,有的开发写成pojo,有的写成model,也有domain,也有dto(这里做参数验证,比如password不能为空等),实体类如果你不懂什么东西的话,那你就想成是范围。

mapper 是Mybatis 操作数据库的那一层,就是dao层。

service包含了serviceImpl(service接口的实现类) 是提供给controller 使用的,针对于某些业务将 dao 的对于某些表的crud进行组合,也就是说间接的和数据库打交道。

controller 通过调用service来完成业务逻辑。

我这里使用的是PostgreSql数据库,这个数据库是开源而且非常不错的。

(SpringBoot连接PostgreSql数据库:https://blog.csdn.net/qq_41647999/article/details/83311721

实例图片及源码

实例:

数据库:

运行效果:

下载地址

积分下载地址:https://download.csdn.net/download/qq_41647999/10739833

如果没有积分,百度云链接:https://pan.baidu.com/s/15UBAeg68mTIaQOy9ES7_Mw提取码:1uuo

  • 58
    点赞
  • 221
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: 在软件开发model是指存放实体的类,它定义了多个类属性,并与数据库表的字段保持一致,一张表对应一个model类。主要用于定义与数据库对象应的属性,提供get/set方法,tostring方法,有参无参构造函数。\[1\]而mapper是指用于与数据库进行交互的类,它负责执行SQL语句并将结果映射到model。在MyBatis框架mapper通常与dao类相对应,用于封装数据库操作的逻辑。\[2\]在开发过程,为了提高效率,有些开发者会使用一些工具或类库来自动生成modelmapper,以减少重复工作。例如,tk.mybatis.mapper是一个常用的类库,可以帮助开发者快速生成modelmapper。\[3\] #### 引用[.reference_title] - *1* [SpringBoot项目model层、Dao层、Mapper层、controller层、service层、entity层作用](https://blog.csdn.net/m0_47552180/article/details/125613332)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [mybatis学习:相关代码自动生成(ModelMapperService)](https://blog.csdn.net/weixin_chen/article/details/122726119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值