Loading
507 字
3 分钟

部门新增功能

AI 摘要

部门新增功能#

定义#

部门新增功能用于保存新的部门数据。前端以 JSON 格式传递部门名称,后端通过 @RequestBody 注解将 JSON 数据绑定到实体对象,完成数据持久化。

接口描述#

  • 请求方式:POST
  • 请求路径:/depts
  • 请求参数:JSON 格式 {"name":"研发部"}
  • 响应数据:Result(统一响应结果)

实现思路#

新增部门三层架构

  • Controller 层:接收前端 JSON 请求参数,调用 Service 保存部门
  • Service 层:补全基础属性(创建时间、修改时间),调用 Mapper 保存
  • Mapper 层:执行 INSERT SQL 语句

JSON 参数接收#

前端传递 JSON 格式参数时,使用实体对象接收。

规则:JSON 数据的键名与方法形参对象的属性名相同,并使用 @RequestBody 注解标识。

JSON参数接收

如上图,JSON {"name":"研发部"} 通过 @RequestBody 绑定到 Dept 对象的 name 属性。

代码实现#

Controller 层#

@PostMapping("/depts")
public Result save(@RequestBody Dept dept) {
System.out.println("新增部门, dept=" + dept);
deptService.save(dept);
return Result.success();
}

Service 层#

// DeptService 接口
void save(Dept dept);
// DeptServiceImpl 实现
public void save(Dept dept) {
// 补全基础属性
dept.setCreateTime(LocalDateTime.now());
dept.setUpdateTime(LocalDateTime.now());
// 保存部门
deptMapper.insert(dept);
}

Service 层负责补全 createTimeupdateTime 等非前端传入的基础属性。

Mapper 层#

@Insert("insert into dept(name, create_time, update_time) values(#{name}, #{createTime}, #{updateTime})")
void insert(Dept dept);

在 Mapper 接口中传递多个参数时,封装到一个对象中。SQL 中 #{...} 内写的是对象的属性名,不是表的字段名。

常见场景#

  • 表单提交新增记录,前端发送 JSON 请求体
  • 批量导入时循环调用新增接口

注意事项#

  • @RequestBody 注解必须加在 Controller 方法形参前,否则无法绑定 JSON
  • JSON 的 key 必须与实体类属性名一致
  • #{...} 中应填写 Java 对象的属性名(驼峰命名),而非数据库字段名
  • Service 层负责补全非业务字段(如时间戳),保持 Controller 层简洁

相关链接#

支持与分享

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

赞助
部门新增功能
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 天前