部门删除功能

部门删除功能

2026年5月21日·#编程学习SpringBoot/MyBatis/Java/参数接收/DELETE·591 字 3 分钟
浏览量加载中...
AI 摘要

SpringBoot 实现部门删除功能,含简单参数接收的三种方式与三层架构实现

部门删除功能#

定义#

部门删除功能根据 ID 删除指定部门数据。核心知识点包括简单参数的接收方式(HttpServletRequest、@RequestParam、形参自动绑定)以及 MyBatis 的 DELETE 注解使用。

接口描述#

  • 请求方式:DELETE
  • 请求路径:/depts
  • 请求参数:id(Integer,部门 ID)
  • 响应数据:Result(统一响应结果)

实现思路#

删除部门三层架构

  • Controller 层:接收前端传递的部门 ID,调用 Service 删除
  • Service 层:调用 Mapper 接口方法,执行删除操作
  • Mapper 层:执行 DELETE SQL 语句

简单参数接收#

在 Controller 中接收前端传递的简单参数(如 ?id=1),有三种方案:

方案一:HttpServletRequest(不推荐)#

@DeleteMapping("/depts")
public Result delete(HttpServletRequest request) {
String idStr = request.getParameter("id");
int id = Integer.parseInt(idStr);
System.out.println("根据ID删除部门: " + id);
return Result.success();
}

需要手动获取参数并进行类型转换,较为繁琐,项目开发很少使用。

方案二:@RequestParam 注解#

@DeleteMapping("/depts")
public Result delete(@RequestParam("id") Integer deptId) {
System.out.println("根据ID删除部门: " + deptId);
return Result.success();
}

@RequestParam 的 value 属性需与前端传递的参数名一致。required 属性默认为 true,参数必须传递;若可选,设置为 false。

方案三:形参名匹配(推荐)#

@DeleteMapping("/depts")
public Result delete(Integer id) {
System.out.println("根据ID删除部门: " + id);
return Result.success();
}

请求参数名与形参变量名相同时,直接定义方法形参即可接收,无需额外注解。

代码实现#

Controller 层#

@DeleteMapping("/depts")
public Result delete(Integer id) {
System.out.println("根据id删除部门, id=" + id);
deptService.deleteById(id);
return Result.success();
}

Service 层#

// DeptService 接口
void deleteById(Integer id);
// DeptServiceImpl 实现
public void deleteById(Integer id) {
deptMapper.deleteById(id);
}

Mapper 层#

@Delete("delete from dept where id = #{id}")
void deleteById(Integer id);
  • Mapper 接口方法形参只有一个普通类型参数时,#{…} 里面的属性名可以随便写(如 #{id}#{value}
  • DML 语句执行完毕有返回值(影响的记录数),可将方法返回值设为 Integer,但通常不需要,设为 void 即可

常见场景#

  • 列表页行内删除按钮,传递行 ID 调用删除接口
  • 批量删除时循环调用或扩展为接收 ID 列表

注意事项#

  • 推荐使用方案三(形参名匹配),代码最简洁
  • @RequestParam 的 required 默认为 true,参数缺失会报错
  • DML 语句的 #{...} 在单参数时属性名可任意填写
  • 实际项目中删除前应做关联校验(如该部门下是否有员工)
最后更新于 2026-05-21,距今已过 82 天

部分内容可能已过时

评论区

[ 公告 ]

如果你喜欢,那么欢迎来到我的世界!

了解更多
[ 音乐 ]
封面

音乐

暂未播放

0:000:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]
工具