0
点赞
收藏
分享

微信扫一扫

Javaweb之SpringBootWeb案例之修改员工的详细解析


 3.2 修改员工

Javaweb之SpringBootWeb案例之修改员工的详细解析_xml

编辑

当用户修改完数据之后,点击保存按钮,就需要将数据提交到服务端,然后服务端需要将修改后的数据更新到数据库中。

3.2.1 接口文档

  • 基本信息

请求路径:/emps

请求方式:PUT

接口描述:该接口用于修改员工的数据信息

  • 请求参数
    参数格式:application/json
    参数说明:

名称

类型

是否必须

备注

id

number

必须

id

username

string

必须

用户名

name

string

必须

姓名

gender

number

必须

性别, 说明: 1 男, 2 女

image

string

非必须

图像

deptId

number

非必须

部门id

entrydate

string

非必须

入职日期

job

number

非必须

职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师

请求数据样例:

{
  "id": 1,
  "image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-03-07-37-38222.jpg",
  "username": "linpingzhi",
  "name": "林平之",
  "gender": 1,
  "job": 1,
  "entrydate": "2022-09-18",
  "deptId": 1
}

  • 响应数据
    参数格式:application/json
    参数说明:

参数名

类型

是否必须

备注

code

number

必须

响应码,1 代表成功,0 代表失败

msg

string

非必须

提示信息

data

object

非必须

返回的数据

响应数据样例:

{
    "code":1,
    "msg":"success",
    "data":null
}

3.2.2 实现思路

Javaweb之SpringBootWeb案例之修改员工的详细解析_参数说明_02

编辑

3.2.3 代码实现

  • EmpMapper

@Mapper
public interface EmpMapper {
    //修改员工信息
    public void update(Emp emp);
    
    //省略...
}

  • EmpMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itheima.mapper.EmpMapper">

    <!--更新员工信息-->
    <update id="update">
        update emp
        <set>
            <if test="username != null and username != ''">
                username = #{username},
            </if>
            <if test="password != null and password != ''">
                password = #{password},
            </if>
            <if test="name != null and name != ''">
                name = #{name},
            </if>
            <if test="gender != null">
                gender = #{gender},
            </if>
            <if test="image != null and image != ''">
                image = #{image},
            </if>
            <if test="job != null">
                job = #{job},
            </if>
            <if test="entrydate != null">
                entrydate = #{entrydate},
            </if>
            <if test="deptId != null">
                dept_id = #{deptId},
            </if>
            <if test="updateTime != null">
                update_time = #{updateTime}
            </if>
        </set>
        where id = #{id}
    </update>

    <!-- 省略... -->
   
</mapper>

  • EmpService

public interface EmpService {
    /**
     * 更新员工
     * @param emp
     */
    public void update(Emp emp);
   
    //省略...
}

  • EmpServiceImpl

@Slf4j
@Service
public class EmpServiceImpl implements EmpService {
    @Autowired
    private EmpMapper empMapper;

    @Override
    public void update(Emp emp) {
        emp.setUpdateTime(LocalDateTime.now()); //更新修改时间为当前时间
        
        empMapper.update(emp);
    }
    
    //省略...
}

  • EmpController

@Slf4j
@RestController
@RequestMapping("/emps")
public class EmpController {

    @Autowired
    private EmpService empService;

    //修改员工
    @PutMapping
    public Result update(@RequestBody Emp emp){
        empService.update(emp);
        return Result.success();
    }
    
    //省略...
}

3.2.4 postman测试

Javaweb之SpringBootWeb案例之修改员工的详细解析_参数说明_03

编辑

3.2.5 前后端联调测试

Javaweb之SpringBootWeb案例之修改员工的详细解析_参数说明_04

编辑

举报

相关推荐

0 条评论