当前位置: 首页 > news >正文

Spring Boot部门管理系统:查询、删除、新增实战 - 详解

Spring Boot部门管理系统:查询、删除、新增实战 - 详解

文章目录

  • 前言
    • 部门管理系统
      • 一、查询部门
        • 1. 功能实现流程图
        • 2. Controller 层
        • 3. Service 层
        • 4. Mapper 层
      • 二、删除部门
        • 1.业务流程图
          • 整体流程与三层架构职责
        • 2.Controller层
          • 方式一:通过 `HttpServletRequest` 对象获取
          • 方式二:使用 `@RequestParam` 注解绑定参数
          • 方式三:省略 `@RequestParam`(参数名匹配)
        • 3.Service层
        • 4.Mapper层
      • 三、新增部门
        • 1.业务流程图
        • 2.Controller 层(接收 JSON 参数)
        • 3. Service 层(补全属性 + 调用 Mapper)
        • 4. Mapper 层(执行 SQL 插入)
        • 5.核心知识点小结
      • 四、修改部门
        • 1.业务需求
        • 2.路径参数
          • 核心概念
          • 方式 1
          • 方式 2
          • 适用场景与特点
        • 3.查询回显
        • 5.修改数据
          • 1. Controller 层
          • 2. Service 层
          • 3. Mapper 层
          • 核心流程梳理
          • 关键注意事项
  • 总结


前言

部门管理系统是企业管理中常见的核心模块,用于高效管理组织架构。本文通过实际代码示例,详细讲解部门管理系统的三大核心功能:查询、删除和新增部门。内容涵盖Spring Boot三层架构(Controller、Service、Mapper)的实现、参数接收方式对比(如@RequestParam与@RequestBody)、MyBatis注解开发等关键技术点,帮助读者快速掌握企业级开发中的典型场景和最佳实践。


部门管理系统

一、查询部门

1. 功能实现流程图

在这里插入图片描述

2. Controller 层
@RestController
public class DeptController
{

@Autowired
private DeptService deptService;
@GetMapping("/depts")
public Result findAll(){

List<
Dept> deptList = deptService.findAll();
return Result.success(deptList);
}
}
3. Service 层
@Service
public class DeptServiceImpl
implements DeptService {

@Autowired
private DeptMapper deptMapper;
@Override
public List<
Dept> findAll() {

return deptMapper.findAll();
}
}
4. Mapper 层
@Mapper
public interface DeptMapper {

// 方式1:手动结果映射
@Results({

@Result(column = "create_time", property = "createTime"),
@Result(column = "update_time", property = "updateTime")
})
@Select("select id, name, create_time, update_time from dept order by update_time desc")
List<
Dept> findAll();
// 方式2:SQL别名映射
@Select("select id, name, create_time createTime, update_time updateTime from dept order by update_time desc")
List<
Dept> findAll();
}

二、删除部门

1.业务流程图

在这里插入图片描述

整体流程与三层架构职责
  1. Controller 层:负责接收请求参数(三种方式可选 ),调用 Service 层方法,最后响应结果(返回 Result.success() )。
  2. Service 层:后续需补充实现,主要封装业务逻辑(如校验部门是否存在关联数据,决定能否删除 ),再调用 Mapper 层操作数据库。
  3. Mapper 层:定义接口方法,通过 MyBatis 等框架执行 delete from dept where id = ? SQL ,实现数据库中部门数据删除。
2.Controller层

在实现 “根据 ID 删除部门” 功能时,Controller 层接收请求参数有以下三种方式,结合代码和要点总结如下:

功能背景

需求为通过部门主键 ID 执行删除操作,接口请求路径/depts 、请求方式 DELETE ,需接收 id 参数(部门 ID ),借助三层架构(Controller、Service、Mapper )完成数据库删除逻辑(Mapper 层执行 delete from dept where id = ? SQL )。

三种参数接收方式及代码示例

方式一:通过 HttpServletRequest 对象获取
@DeleteMapping("/depts")
public Result deleteDept
http://www.sczhlp.com/news/8239/

相关文章:

  • 模拟退火大法
  • DAY11 函数对象 函数的嵌套 名称空间和作用域 作用域修改关键字
  • Python入门学习(九)Python的高级语法与用法(一)枚举
  • 进程间通信
  • GAS_Aura-Aura Player Controller
  • LP-BT100蓝牙耳机
  • OpenTelemetry概述
  • cocos2dx项目中遇到的spine问题
  • LGP11364 [NOIP 2024] 树上查询 学习笔记
  • 严格WQS二分
  • 2025 暑期 mx 集训 7.21
  • 8月8号
  • GPT-5 API 请求参数调整,避坑指南(汇总)
  • 题解:CF2048F Kevin and Math Class
  • gem5流程学习-1
  • SPI详细讲解+W25Q128验证
  • 【自学嵌入式:stm32单片机】蜂鸣器
  • 带 PVC 的 Pod 提交后时序事件
  • C#自学笔记:匿名函数与Lambda表达式
  • 如何高效率使用 Cursor ?
  • 注意力头
  • 8月8日
  • 一键上云不是梦!Apache Dubbo 发布微服务集群部署与全新控制台
  • 安装libretranslate
  • 解决 Vue 路由在 IIS 中的 404 问题
  • 位置嵌入
  • threejs之灯光不跟随OrbitControls控制器旋转
  • MAC在Docker上部署Ollama详细教程
  • 8月8日随笔
  • 场景题——高并发