DAO层:

DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。

Service层:

Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。

Controler层:

Controler负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面。

总结:

个人理解DAO面向表,Service面向业务。后端开发时先数据库设计出所有表,然后对每一张表设计出DAO层,然后根据具体的业务逻辑进一步封装DAO层成一个Service层,对外提供成一个服务。

————————————————————————————————

原文链接:https://blog.csdn.net/qq_22771739/article/details/82344336

转载2:

SSM是sping+springMVC+mybatis集成的框架。

MVC即model view controller。

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

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

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

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

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

说的很白话,希望大家可以理解。有什么不懂得问题,可以评论。

纯手打,谢谢。

==2019.1.20补充

在实际开发中的Service层可能被处理为实体Service层,而不是接口,业务逻辑直接写在Service(Class,不是Interface)层中,Controller直接调用Service,Service调用Mapper。

当然了,Service之间也是可以互相调用!

————————————————————————————————

原文链接:https://blog.csdn.net/ma726518972/article/details/80262948

java的dao层_Java中DAO层、Service层和Controller层的区别相关推荐

  1. java的dao层_Java中Dao层、Action层、Service层、Controller层-Fun言

    Action/Service/DAO简介 Action 管理业务(Service)调度和管理跳转 Service 具体的业务功能 Action只负责管理,而Service负责实施 DAO只完成增删改查 ...

  2. java dao层 service层_Java中DAO层、Service层和Controller层的区别

    DAO层: DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封 ...

  3. java 循环new对象_java中new一个对象放在循环体里面与外面的区别

    首先说下问题: 这次在做项目的是出现了一个new对象在循环里面与外面造成的不同影响. 大家可以看到这个new的对象放在不同的位置产生的效果是不一样的. 经过多方查询与验证可以得出结论: * EasyU ...

  4. Springboot中如何优雅的写好Controller层代码

    前言 优雅?看到这个词,我第一反应是什么是优雅?怎么写才算优雅?一千个读者有一千个哈姆雷特,每个人的经验.阅历不同,也许理解就不同.我对优雅的理解很简单,就是简洁有效.容易理解,别那么多套路.java ...

  5. java 文件解析异常_java中异常的解析

    Java Exception: 1.Error 2.Runtime Exception 运行时异常 3.Exception 4.throw 用户自定义异常 异常类分两大类型:Error类代表了编译和系 ...

  6. java语言for模板_Java中使用FreeMaker实现模板渲染

    一.引言 1.1 freemarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Serv ...

  7. java常见检查异常_java中常见异常总汇,附解释

    Java Exception: 1.Error 2.Runtime Exception 运行时异常 3.Exception 4.throw 用户自定义异常 异常类分两大类型:Error类代表了编译和系 ...

  8. springboot中service层注入的是实现类,但Controller层接收的是接口

    我们习惯这样编写代码: 在service层写接口,然后用实现类去实现接口,并且将实现类注入到容器中 @Service public class AccountServiceImpl implement ...

  9. java string 连续字符_Java中字符串中连续相同字符去重方法

    导读 正文 最近参加了一个面试,问到了如何在一个字符串中连续相同字符去重,想了想用正则表达式应该可以轻松实现.可是由于长时间没有编码了,而且由于原先的工作用到的比较少.具体的自己就不会写正则表达式用到 ...

最新文章

  1. Beta阶段第二次冲刺
  2. Android 开源库获取途径整理
  3. (JAVA)从零开始之--打印流PrintStream记录日志文件
  4. 记事本写python怎么运行-python入门之一个简单记事本
  5. Semaphore源码分析
  6. mysql 安装 运维_MySQL自动化运维之安装篇
  7. [cocos2d]格式化获取当前layer的控件名
  8. UI设计师遇到瓶颈如何自我提升?
  9. ubuntu 的问题,我一个人使用,却显示两人登录?
  10. 软考网络工程师--数据通信基础
  11. 【测试报告】模板:迭代测试报告
  12. 从电视购物到抖音,流量平台与骗子斗了20年
  13. python学习-day15:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r...
  14. 计算机操作系统u盘的安装方法,怎么直接用u盘装系统操作教程
  15. C# 调用微信接口上传素材和发送图文消息
  16. 6-9 计算捐款总量 (10 分)
  17. Android Studio如何建立VR视频
  18. 雅思英语作文计算机和历史,关于computer的雅思写作范文
  19. app inventor入门详细教程(音乐播放器)01
  20. 1024程序员节盛大开幕,九大操作系统掌门人、六代技术人齐聚岳麓,见证技术大时代

热门文章

  1. 淘宝买衣服的一点个人经验
  2. PHP 实现全站静态化 首页静态化 列表页静态化 内容静态化 .
  3. 费洪荒之力解决部署Java项目遇到的Hibernate奇葩状
  4. Android之定时器
  5. 黑客地下市场出售物联网僵尸网络 售价7500美元 美国断网可能只是测试
  6. 【深度探究css】--- vertical-align
  7. Android性能调优--StrictMode
  8. Android中ListView结合网络请求开发小案例(适合初学者必看的一篇详细实例)
  9. 霍金北京《宇宙的起源》演讲全文
  10. VB.net ComAddin从零开发,跟我一起造轮子,嗨起来