SpringBoot框架中的DAO(mapper)层、Entity层、Service层、Controller层
Entity层:实体层 数据库在项目中的类
Entity层是实体层,也就是所谓的model,也称为pojo层,是数据库在项目中的类,该文件包含实体类的属性和对应属性的set、get方法;
DAO层: 持久层 主要与数据库进行交互
DAO层=mapper层,现在用Mybatis逆向工程生成的mapper层,其实就是dao层。DAO层会调用entity层,DAO中会定义实际使用到的方法,比如增删改查。DAO 层的数据源和数据库连接的参数都是在配置文件中进行配置的,配置文件一般在同层的XML文件夹中。数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作。
Service层:业务层 控制业务
Service层主要负责业务模块的逻辑应用设计。先设计放接口的类,再创建实现的类,然后在配置文件中进行配置其实现的关联。service层调用dao层接口,接收dao层返回的数据,完成项目的基本功能设计。
封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。
Controller层:控制层 控制业务逻辑
Controller层负责具体的业务模块流程的控制,controller层负责前后端交互,接受前端请求,调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端。
Controller层像是一个服务员,他把客人(前端)点的菜(数据、请求的类型等)进行汇总什么口味、咸淡、量的多少,交给厨师长(Service层),厨师长则告诉沾板厨师(Dao 1)、汤料房(Dao 2)、配菜厨师(Dao 3)等(统称Dao层)我需要什么样的半成品,副厨们(Dao层)就负责完成厨师长(Service)交代的任务。
总结:
业务逻辑:
Controller-->service接口-->serviceImpl-->dao接口-->daoImpl-->mapper-->db
在具体的项目中,其流程为:Controller层调用Service层的方法,Service层调用Dao(mapper)层中的方法,其中调用的参数是使用Entity层进行传递的。总的来说这样每层做什么的分类只是为了使业务逻辑更加清晰,写代码更加方便,所以有时候也需要根据具体情况来,但是大体的都是这样处理的,因为它其实就是提供一种规则,让你把相同类型的代码放在一起,这样就形成了层次,从而达到分层解耦、复用、便于测试和维护的目的。
SpringBoot框架中的DAO(mapper)层、Entity层、Service层、Controller层相关推荐
- java mapper control_java spring boot中怎么编写mapper?怎么编写service和controller?
上次已经为大家介绍过java spring boot中怎么加入依赖的主要内容了.今天再为大家介绍一些与之相关的内容,也就是java spring boot中怎么 编写mapper以及怎么编写servi ...
- SpringBoot 框架中 使用Spring Aop 、创建注解、创建枚举类 使用过程记录
1.开始 在Springboot框架中引入AOP <dependency><groupId>org.springframework.boot</groupId>&l ...
- SpringBoot框架中解决日期展示问题
SpringBoot框架中解决日期展示问题 参考文章: (1)SpringBoot框架中解决日期展示问题 (2)https://www.cnblogs.com/w-essay/p/11453751.h ...
- SpringBoot框架中各层(DTO、DAO、Service、Controller)理解
粗略理解 View层→Controller层(响应用户请求)→Service层(接口→接口实现类)→DAO层,即Mapper层(抽象类:xxxMapper.java文件,具体实现在xxxMapper. ...
- OA系统十八:请假申请四:【请假申请】这个内嵌界面中【提交请假表单数据】的Controller层;
本篇博客的主要内容是: 本篇博客需要注意的点: (1)一种策略,或称之为一种思想:一个Controller的url设置成通配符的形式,从而实现不同的请求调用不同方法: (2)加深感受下Session这 ...
- spring中stereotype注解Component,Repository,Service,Controller
[README] 本文介绍了 spring4.0 下 org.springframework.stereotype 的注解类型,俗称刻板型注解(一成不变型): 包括 @Component, @Repo ...
- 中文乱码之springboot框架中两工程之间参数传递乱码
springboot的分布式开发中,偶尔会遇到中文参数传递乱码的问题,并且当前遇到的是只有某一台电脑上才出现该情况,为此在接受参数的工程接口处添加了一个判断是否中文,如果否则做转换(前提是这个参数必须 ...
- 【Java】使用springboot框架中的注解@ManyToOne遇到的坑
包如下的错:java.lang.IllegalStateException: Cannot call sendError() after the response has been committed ...
- 【Maven】一文就解决springboot框架中创建maven所有问题
声明 以下问题均为我创建项目中所遇到的问题,不一定具有普适性.另外错误案例也没有既是保存,还望海涵 下载Maven 首先进入maven官网,地址在这里 windows选择下载图中这个,然后我们会得到一 ...
最新文章
- 炉石传说 C# 设计文档(序)
- php原生 文章浏览量,调用WordPress函数统计文章访问量及PHP原生计数器的实现
- qemu+tap+bridge
- 编程式事务控制相关对象
- 上周热点回顾(5.16-5.22)
- 零基础自学java_零基础学Java——小白的Java之路(4)
- tos重装mysql_云服务器(腾讯云)从零开始部署记录(3)之mysql5.7安装
- Intel 10nm为何迟迟不肯露面?良品率偏低
- HDFS内副本和块的状态分析
- 简单的解决nginx转发WebSocket问题
- oCam(屏幕录制) 一款小巧方便的专业屏幕录制软件 彻底解决你的录屏问题
- 推动5G+北斗高精度定位系统更好赋能千行百业
- 农夫山泉又上热搜,虚假宣传、拒不认错让网友反感至极!
- 安培龙IPO过会:年营收5亿 同创伟业与中移创新是股东
- 纪念尼古拉·特斯拉---一个伟大却很少被普罗大众认识的科学家
- sap客户信贷_SAP 客户信贷重建一则
- 进程平均周转时间的计算
- Leaflet加载百度地图
- vi新建一个shell脚本_编写第一个Shell脚本
- 极客日报:同一个手机号或可注册两个微信号;第三代AirPods不再支持iPhone 6等老手机