Loading
591 字
3 分钟

部门删除功能

AI 摘要

部门删除功能#

定义#

部门删除功能根据 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 语句的 #{...} 在单参数时属性名可任意填写
  • 实际项目中删除前应做关联校验(如该部门下是否有员工)

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
部门删除功能
https://blog.tsh520.cn/posts/javawebai/后端基础/部门删除功能/
作者
团子和蛋糕
发布于
2026-05-21
许可协议
CC BY-NC-SA 4.0
最后更新于 2026-05-21,距今已过 30 天

部分内容可能已过时

评论区

[ 公告 ]

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

了解更多
[ 音乐 ]
封面

音乐

暂未播放

0:00 0:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]
我和宝宝在一起已经
---------TSH CXY---------
---------TSH
CXY---------
0 0 0
00 00 00
最近更新
站点统计
文章
84
动态
20
记录次数
89
分类
6
标签
78
总字数
94,329
运行时长
0
最后活动
0 天前