一、代码如下
要想修改部门需要先按id查询部门回显再去实现修改操作,先展示所有代码。
DeptController类:
@GetMapping("/{id}")
public Result get(@PathVariable Integer id){
log.info("根据id查询部门:{}", id);
Dept dept = deptService.get(id);
return Result.success(dept);
}
@PutMapping
public Result update(@RequestBody Dept dept){
log.info("根据id修改部门:{}", dept.getId());
deptService.update(dept);
return Result.success();
}
DeptService类:
Dept get(Integer id);
void update(Dept dept);
DeptServiceImpl类:
@Override
public Dept get(Integer id) {
Dept dept = deptMapper.getById(id);
return dept;
}
@Override
public void update(Dept dept) {
dept.setUpdateTime(LocalDateTime.now());
deptMapper.update(dept);
}
DeptMapper类:
@Select("select * from dept where id = #{id}")
Dept getById(Integer id);
@Update("update dept set name = #{name}, update_time = #{updateTime} where id = #{id} ")
void update(Dept dept);
二、解释
根据需求文档:
响应的数据样例:
得到信息:
可知修改部门需要用上put请求用于修改部门,请求参数有两个:name和id
所以我们的方向有两个,根据前端得到id去查询对应部门,然后去修改部门
三、步骤:
在实现查询的操作的时候,目的是为了实现点击编辑实现回显数据
也就是一下相关代码:
@GetMapping("/{id}")
public Result get(@PathVariable Integer id){
log.info("根据id查询部门:{}", id);
Dept dept = deptService.get(id);
return Result.success(dept);
}
这个是DeptController类的代码,剩下那些类的代码就不一一说明了,和上面一开始那个代码一样。
得到回显后进行修改部门的操作:
也就修改成功,实现的目的就是根据id去修改,在课上老师也提到。以下是相关代码:
@PutMapping
public Result update(@RequestBody Dept dept){
log.info("根据id修改部门:{}", dept.getId());
deptService.update(dept);
return Result.success();
}
和之前一样,也是提供一部分。
四、误区:
可能大家一开始也是只写了修改的代码,结果是一直新增加代码,因为本来那个id在修改后就已经不按正常排序了,所以~~
但是也可能是前端人员的设定,需要按照id进行修改,否则默认是添加。
本人的理解,有什么不对可以指正一下。