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系统架构

SpringBoot 中的mapper,service,controller,model理解_第1张图片

(2) SSM程序执行流程

SpringBoot 中的mapper,service,controller,model理解_第2张图片

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来完成业务逻辑。

SpringBoot 中的mapper,service,controller,model理解_第3张图片

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

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

实例图片及源码

实例:

SpringBoot 中的mapper,service,controller,model理解_第4张图片

数据库:

运行效果:

下载地址

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

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

你可能感兴趣的:(spring,boot,mybatis,spring)