P139 Day 10. 案例-部门管理-修改部门代码

P139 Day 10. 案例-部门管理-修改部门代码

黑马程序员2023新版JavaWeb开发P139

需求:点击编辑按钮实现部门名称回显,并且可以修改部门名称。

1、DeptController.java

DeptController.java中添加getById方法用于根据id查询部门,update方法用于修改部门。其中由于是根据id 查询部门,所以只会查到一条数据,不需要使用List集合,直接使用Dept的对象就行。

    /**
     * 根据id查询部门
     * @param id
     * @return
     */
    @GetMapping("/{id}")
    public Result getById(@PathVariable Integer id){
        log.info("根据id查询部门:{}",id);

        // 调用service查询部门
        Dept dept = deptService.getById(id);
        return Result.success(dept);
    }
    /**
     * 修改部门
     * @param dept
     * @return
     */
    @PutMapping
    public Result update(@RequestBody Dept dept){
        log.info("修改部门:{}",dept);
        // 调用service修改部门
        deptService.update(dept);
//        list();
        return Result.success();
    }

2、DeptService.java

使用快捷键在DeptService接口中生成getByIdupdate方法

/**
     * 根据id查询部门
     * @param id
     * @return
     */
    Dept getById(Integer id);
    /**
     * 修改部门
     * @param dept
     */
    void update(Dept dept);

3、DeptServiceImpl.java

在实现类DeptServiceImpl中重写getByIdupdate方法。其中update方法还需要补全更新时间。

@Override
    public Dept getById(Integer id){
        return deptMapper.getById(id);
    }
    @Override
    public void update(Dept dept){
        //补全更新时间
        dept.setUpdateTime(LocalDateTime.now());
        deptMapper.upfate(dept);
    }

4、DeptMapper.java

/**
     * 根据id查询部门
     * @return
     */
    @Select("select * from dept where id = #{id}")
    Dept getById(Integer id);
    
    /**
     * 修改部门
     * @param dept
     */
    @Update("update dept set name = #{name},update_time = #{updateTime} where id = #{id}")
    void upfate(Dept dept);

注意事项

运行后,注意部门名称在数据库中设置成unique了,因此修改时要注意新的部门名称不能与已有名称相同,否则报错500

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值