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层相关推荐

  1. java mapper control_java spring boot中怎么编写mapper?怎么编写service和controller?

    上次已经为大家介绍过java spring boot中怎么加入依赖的主要内容了.今天再为大家介绍一些与之相关的内容,也就是java spring boot中怎么 编写mapper以及怎么编写servi ...

  2. SpringBoot 框架中 使用Spring Aop 、创建注解、创建枚举类 使用过程记录

    1.开始 在Springboot框架中引入AOP <dependency><groupId>org.springframework.boot</groupId>&l ...

  3. SpringBoot框架中解决日期展示问题

    SpringBoot框架中解决日期展示问题 参考文章: (1)SpringBoot框架中解决日期展示问题 (2)https://www.cnblogs.com/w-essay/p/11453751.h ...

  4. SpringBoot框架中各层(DTO、DAO、Service、Controller)理解

    粗略理解 View层→Controller层(响应用户请求)→Service层(接口→接口实现类)→DAO层,即Mapper层(抽象类:xxxMapper.java文件,具体实现在xxxMapper. ...

  5. OA系统十八:请假申请四:【请假申请】这个内嵌界面中【提交请假表单数据】的Controller层;

    本篇博客的主要内容是: 本篇博客需要注意的点: (1)一种策略,或称之为一种思想:一个Controller的url设置成通配符的形式,从而实现不同的请求调用不同方法: (2)加深感受下Session这 ...

  6. spring中stereotype注解Component,Repository,Service,Controller

    [README] 本文介绍了 spring4.0 下 org.springframework.stereotype 的注解类型,俗称刻板型注解(一成不变型): 包括 @Component, @Repo ...

  7. 中文乱码之springboot框架中两工程之间参数传递乱码

    springboot的分布式开发中,偶尔会遇到中文参数传递乱码的问题,并且当前遇到的是只有某一台电脑上才出现该情况,为此在接受参数的工程接口处添加了一个判断是否中文,如果否则做转换(前提是这个参数必须 ...

  8. 【Java】使用springboot框架中的注解@ManyToOne遇到的坑

    包如下的错:java.lang.IllegalStateException: Cannot call sendError() after the response has been committed ...

  9. 【Maven】一文就解决springboot框架中创建maven所有问题

    声明 以下问题均为我创建项目中所遇到的问题,不一定具有普适性.另外错误案例也没有既是保存,还望海涵 下载Maven 首先进入maven官网,地址在这里 windows选择下载图中这个,然后我们会得到一 ...

最新文章

  1. 炉石传说 C# 设计文档(序)
  2. php原生 文章浏览量,调用WordPress函数统计文章访问量及PHP原生计数器的实现
  3. qemu+tap+bridge
  4. 编程式事务控制相关对象
  5. 上周热点回顾(5.16-5.22)
  6. 零基础自学java_零基础学Java——小白的Java之路(4)
  7. tos重装mysql_云服务器(腾讯云)从零开始部署记录(3)之mysql5.7安装
  8. Intel 10nm为何迟迟不肯露面?良品率偏低
  9. HDFS内副本和块的状态分析
  10. 简单的解决nginx转发WebSocket问题
  11. oCam(屏幕录制) 一款小巧方便的专业屏幕录制软件 彻底解决你的录屏问题
  12. 推动5G+北斗高精度定位系统更好赋能千行百业
  13. 农夫山泉又上热搜,虚假宣传、拒不认错让网友反感至极!
  14. 安培龙IPO过会:年营收5亿 同创伟业与中移创新是股东
  15. 纪念尼古拉·特斯拉---一个伟大却很少被普罗大众认识的科学家
  16. sap客户信贷_SAP 客户信贷重建一则
  17. 进程平均周转时间的计算
  18. Leaflet加载百度地图
  19. vi新建一个shell脚本_编写第一个Shell脚本
  20. 极客日报:同一个手机号或可注册两个微信号;第三代AirPods不再支持iPhone 6等老手机

热门文章

  1. 微信支付、公众号支付、微信APP支付教程
  2. Java中集合拥有的共性方法
  3. Java网络编程之实现资源下载详解【王道Java】
  4. Bob 的生存概率问题
  5. Ubuntu 安装 libvirt
  6. java——菜鸟飞机大战
  7. Altium Designer 14.1.5 Build 30772
  8. 浮动以及清楚浮动的几种方法
  9. SpringCloud实用篇01
  10. libusb函数说明