java的dao层_Java中DAO层、Service层和Controller层的区别
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层的区别相关推荐
- java的dao层_Java中Dao层、Action层、Service层、Controller层-Fun言
Action/Service/DAO简介 Action 管理业务(Service)调度和管理跳转 Service 具体的业务功能 Action只负责管理,而Service负责实施 DAO只完成增删改查 ...
- java dao层 service层_Java中DAO层、Service层和Controller层的区别
DAO层: DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封 ...
- java 循环new对象_java中new一个对象放在循环体里面与外面的区别
首先说下问题: 这次在做项目的是出现了一个new对象在循环里面与外面造成的不同影响. 大家可以看到这个new的对象放在不同的位置产生的效果是不一样的. 经过多方查询与验证可以得出结论: * EasyU ...
- Springboot中如何优雅的写好Controller层代码
前言 优雅?看到这个词,我第一反应是什么是优雅?怎么写才算优雅?一千个读者有一千个哈姆雷特,每个人的经验.阅历不同,也许理解就不同.我对优雅的理解很简单,就是简洁有效.容易理解,别那么多套路.java ...
- java 文件解析异常_java中异常的解析
Java Exception: 1.Error 2.Runtime Exception 运行时异常 3.Exception 4.throw 用户自定义异常 异常类分两大类型:Error类代表了编译和系 ...
- java语言for模板_Java中使用FreeMaker实现模板渲染
一.引言 1.1 freemarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Serv ...
- java常见检查异常_java中常见异常总汇,附解释
Java Exception: 1.Error 2.Runtime Exception 运行时异常 3.Exception 4.throw 用户自定义异常 异常类分两大类型:Error类代表了编译和系 ...
- springboot中service层注入的是实现类,但Controller层接收的是接口
我们习惯这样编写代码: 在service层写接口,然后用实现类去实现接口,并且将实现类注入到容器中 @Service public class AccountServiceImpl implement ...
- java string 连续字符_Java中字符串中连续相同字符去重方法
导读 正文 最近参加了一个面试,问到了如何在一个字符串中连续相同字符去重,想了想用正则表达式应该可以轻松实现.可是由于长时间没有编码了,而且由于原先的工作用到的比较少.具体的自己就不会写正则表达式用到 ...
最新文章
- Beta阶段第二次冲刺
- Android 开源库获取途径整理
- (JAVA)从零开始之--打印流PrintStream记录日志文件
- 记事本写python怎么运行-python入门之一个简单记事本
- Semaphore源码分析
- mysql 安装 运维_MySQL自动化运维之安装篇
- [cocos2d]格式化获取当前layer的控件名
- UI设计师遇到瓶颈如何自我提升?
- ubuntu 的问题,我一个人使用,却显示两人登录?
- 软考网络工程师--数据通信基础
- 【测试报告】模板:迭代测试报告
- 从电视购物到抖音,流量平台与骗子斗了20年
- python学习-day15:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r...
- 计算机操作系统u盘的安装方法,怎么直接用u盘装系统操作教程
- C# 调用微信接口上传素材和发送图文消息
- 6-9 计算捐款总量 (10 分)
- Android Studio如何建立VR视频
- 雅思英语作文计算机和历史,关于computer的雅思写作范文
- app inventor入门详细教程(音乐播放器)01
- 1024程序员节盛大开幕,九大操作系统掌门人、六代技术人齐聚岳麓,见证技术大时代