Controller+Service +Dao三层的功能划分
2022.3.30 Controller+Service +Dao三层的功能划分
1、后端
1、entity实体,又叫模型层,也可以叫model层。是一种orm思想,映射数据库表结构的。
2、mapper,数据访问层,也可以叫dao层。只有这一层是用来访问数据库的。
3、service,业务逻辑层。所有的业务逻辑放这里。
4、controller,控制器。这一层是对外提供接口的,只有这一层参与网络请求和接收。
5、执行顺序性controller到service到mapper。
业务复杂情况:
1、entity层:增删改查是用entity进行数据传输(增和改,接收的都是entiry层的类。查询返回的也是entiry层的类)
-->entiry一般映射的数据库表结构,是很机密的东西,为了不让数据库表结构暴露。就会做dto和vo
2、dto层,controller接收的参数,controller的增和改由dto接收,然后由dto传给service
-->service层进行dto到entity的转换,再进行mapper操作
3、vo层,controller返回的参数,返回的entity层数据中不能让前端看到,就需要定义一个vo层,把entity的数据都裁剪或者增加,最后返回给前端。
4、bo层
2、前端
1、vue端,api那个目录里的是封装的axios用来做网络请求的。
2、api层,通过访问java的controller来交互数据。
3、总体流程
vue api -> controller -> service -> mapper
(遇到问题,一层层的加log,更容易定位问题)
分类:
JavaSE
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术