经过前面操作数据库,update等方法的编写,这个模块就很简单了,简单写一下编码过程
一、需求分析与设计
通过前端页面与接口文档,我们了解到,我们首先要根据员工id查询信息,然后获取表单提交的信息进行修改,一共两个接口
表单提交的是json对象,id是地址栏提交的,我们只需要传递回前端一个成功的code和处理失败的msg
二、代码开发
1.控制器Controller编写
查询接口1
EmployeeController
/**
* 根据id查询员工信息
*
* @return
*/
@GetMapping("/{id}")
@ApiOperation("根据id查询员工信息")
public Result<Employee> getById(@PathVariable Long id){
Employee employee= employeeService.getById(id);
return Result.success();
}
EmployeeServiceImpl
不想让前端看到密码,设置成“*****”
@Override
public Employee getById(Long id) {
Employee employee= employeeMapper.getById(id);
employee.setPassword("*****");
return employee;
}
查询比较简单直接在 Mapper接口加注解
/**
* 根据id查询员工信息
*
* @return
*/
@Select("select * from employee where id = #{id}")
Employee getById(Long id);
测试成功返回数据
接口2
EmployeeController
@PutMapping
@ApiOperation("编辑员工信息")
public Result update(@RequestBody EmployeeDTO employeeDTO){
log.info("编辑员工信息:{}",employeeDTO);
employeeService.update(employeeDTO);
return Result.success();
}
EmployeeServiceImpl直接用之前的mapper update方法
由于需要Employee对象,我们使用属性拷贝
@Override
public void update(EmployeeDTO employeeDTO) {
Employee employee = new Employee();
BeanUtils.copyProperties(employeeDTO, employee);
employee.setUpdateTime(LocalDateTime.now());
employee.setCreateUser(BaseContext.getCurrentId());
employeeMapper.update(employee);
}
到此开发完成
三、测试
查询成功
修改成功!
到此,编辑员工模块编写完毕