后端中的Dao层、Service层、Impl层、utils层、Controller层

2024-01-06 06:12

本文主要是介绍后端中的Dao层、Service层、Impl层、utils层、Controller层,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 Java

Dao层

dao层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查,对外提供稳定访问数据库的方法

Mapper:(DAO)
访问数据库,对数据库进行操作,提供接口给Service层

当sql语句发生变化更改时,我们可以只修改对应的XML文件,而无需再修改Mapper,这样每次更改sql语句时,代码就可以不用再次重新编译!
直接与数据库打交道(执行SQL语句),接口提供给service层

Service层

Service是管理具体的功能的接口

Service:服务
相对独立,负责业务逻辑(功能)的设计,是一个接口类


Impl层

impl层 是继承service、dao层具体的实现类

ServiceImpl:服务实现
对Service接口的实现,调用Mapper

把Service类设计成一个接口,使控制层只依赖这个接口,于是就有了controller+service+serviceImpl;这样,当某天这个应用要跑在其它数据库上时,就而只需要增加一个serviceImpl类。 这就是service+serviceImpl套路产生的背景


utils层

Util是utiliy的缩写,是一个多功能、基于工具的包。如字符串处理、日期处理等,(建立数据库之间的连接)。

Controller:控制器


业务模块流程的控制,不同的业务流程有不同的控制器
负责请求转发,接收页面过来的参数,传给service处理,接到返回值,并再次传给页面

控制处理前端请求和响应,与前端进行交互,给前端提供接口
调用Service层(定义的接口)
如果只是简单增删可以调用Mapper(不推荐)

这篇关于后端中的Dao层、Service层、Impl层、utils层、Controller层的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/575448

相关文章

vue3项目将所有访问后端springboot的接口统一管理带跨域

vue3项目将所有访问后端springboot的接口统一管理带跨域 一、前言1.安装Axios2.创建Axios实例3.创建API服务文件4.在组件中使用API服务 二、跨域三、总结 一、前言 在Vue 3项目中,统一管理所有访问后端Spring Boot接口的最佳实践是创建一个专门的API服务层。这可以让你的代码更加模块化、可维护和集中管理。你可以使用Axios库作为HTT

BD错误集锦7——在集成Spring MVC + MyBtis时使用c3p0作为数据库时报错Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatem

异常信息如下: Type Exception ReportMessage Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstractDescr

Service在Android中的作用:技术难点、面试官关注点、回答吸引力与代码举例

在Android开发中,Service是一个重要的后台服务组件,它允许应用程序在后台执行长时间运行的操作,而无需与用户进行直接交互。Service在多种场景下发挥着关键作用,下面我们将从技术难点、面试官关注点、回答吸引力和代码举例四个方面,对Service的作用进行详细阐述。 一、技术难点 生命周期管理:Service的生命周期相对独立,与Activity和Fragment等组件不同。因此

芯片后端之 PT 使用 report_timing 产生报告如何阅读

今天,就PT常用的命令,做一个介绍,希望对大家以后的工作,起到帮助作用。 在PrimeTime中,使用report_timing -delay max命令生成此报告。switch -delay max表示定时报告用于设置(这是默认值)。 首先,我们整体看一下通过report_timing 运行之后,报告产生的整体样式。 pt_shell> report_timing -from start_

滴滴插件化VirtualAPK框架原理解析(二)之Service 管理

在前一篇博客滴滴插件化框架VirtualAPK原理解析(一)之插件Activity管理 中VirtualAPK是如何对Activity进行管理的,本篇博客,我们继续来学习这个框架,这次我们学习的是如何去管理Service。 Freedom框架,我个人手写的0反射插件化框架 Service工作原理分析 说道如何对Service进行插件化,肯定得先了解Service的工作过程,不然何谈插件化?所

SRS4.0源码分析-SrsRtmpConn::stream_service_cycle

SRS 的社群来了,想加入微信社群的朋友请购买《SRS原理》电子书,里有更高级的内容与答疑服务。 本文采用的 SRS 版本是 4.0-b8 , 下载地址:github 本文讲解 SrsRtmpConn::stream_service_cycle() 函数的实现原理。流程图如下: 上面的流程图中有几个重点: 重点1,这里插个题 在调 stream_service_cycle()

Kubernetes之Service详解

本文尝试从Service暴露服务方式、Service控制器实现原理、使用规范等方面对Kubernetes 中的Service进行详细介绍。 一、Kubernetes 中的pod有哪些暴露服务的方式 各种 Kubernetes 中暴露服务的方式都有其独特的优缺点,根据具体的使用场景和需求,选择合适的方式非常重要。下面是对每种方式的优缺点简要总结: 1. Service (服务) Clust

Linux Ubuntu 24.04制作可用systemctl操控的service

在/etc/systemd/system/目录下创建一个新的<your_service_name>.service文件,例如buda.service,里面填入以下内容: (特别要注意设置WorkingDirectory, 这将决定exe程序中的相对路径的解析结果。) [Unit]Description=buda website serverAfter=network.target[Serv

K8S - 实现statefulset 有状态service的灰度发布

什么是灰度发布 Canary Release 参考 理解 什么是 滚动更新,蓝绿部署,灰度发布 以及它们的区别 配置partition in updateStrategy/rollingUpdate 这次我为修改了 statefulset 的1个yaml file statefulsets/stateful-nginx-without-pvc.yaml: ---apiVersio

【Liunx-后端开发软件安装】Liunx安装FDFS并整合nginx

【Liunx-后端开发软件安装】Liunx安装nacos 文章中涉及的相关fdfs相关软件安装包请点击下载: https://download.csdn.net/download/weixin_49051190/89471122 一、简介 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡