黑马程序员_Java项目实战《苍穹外卖》_Day02_新增员工

文章目录

    • 代码开发
        • 在EmployeeController类中编写一个方法,实现新增员工
        • 调用employeeService完成新增操作,在EmployeeService扩展sava方法
        • 在实现类EmployeeServiceImpl中实现方法,调用持久层Mapper将数据插入
        • 单表新增,通过注解的方式插入
    • 功能测试

黑马程序员2023最新Java项目实战《苍穹外卖》,最适合新手的SpringBoot+SSM的企业级Java项目实战。项目视频

代码开发

根据新增员工接口设计对应的DTO:
黑马程序员_Java项目实战《苍穹外卖》_Day02_新增员工_第1张图片

注:当前端提交的数据和实体类中对应的属性差别比较大时,建议使用DTO来封装数据


  1. 在EmployeeController类中编写一个方法,实现新增员工
    @PostMapping
    @ApiOperation("新增员工")
    public Result save(@RequestBody EmployeeDTO employeeDTO){
        log.info("新增员工: {}", employeeDTO);
        employeeService.save(employeeDTO);
        return Result.success();
    }
    
  2. 调用employeeService完成新增操作,在EmployeeService扩展sava方法
    public interface EmployeeService {
        void save(EmployeeDTO employeeDTO);
    }
    
  3. 在实现类EmployeeServiceImpl中实现方法,调用持久层Mapper将数据插入

    对象属性拷贝:

    // 对象属性拷贝
    BeanUtils.copyProperties(employeeDTO, employee);
    

    实体类里的其他属性自行插入:

    // 设置账号状态,默认正常
    employee.setStatus(StatusConstant.ENABLE);
    
    // 设置密码,默认密码123456
    employee.setPassword(DigestUtils.md5DigestAsHex(PasswordConstant.DEFAULT_PASSWORD.getBytes()));
    
    // 设置当前记录的创建时间和修改时间
    employee.setCreateTime(LocalDateTime.now());
    employee.setUpdateTime(LocalDateTime.now());
    
    // 设置当前记录创建人id和修改人id
    employee.setCreateUser(BaseContext.getCurrentId());
    employee.setUpdateUser(BaseContext.getCurrentId());
    

    封装好数据之后,调用持久层Mapper把这条数据插入:

    employeeMapper.insert(employee);
    
  4. 单表新增,通过注解的方式插入
    @Insert("insert into employee (name, username, password, phone, sex, id_number, create_time, update_time, create_user, update_user,status) " +
            "values " +
            "(#{name},#{username},#{password},#{phone},#{sex},#{idNumber},#{createTime},#{updateTime},#{createUser},#{updateUser},#{status})")
    void insert(Employee employee);
    

功能测试

功能测试方式:1.通过接口文档测试;2.通过前后端联调

  1. 进入接口测试网址:苍穹外卖项目接口文档

    直接调试会得到401的错误提示响应,原因是存在拦截器,进行jwt令牌校验,没有提交令牌无法通过校验。
    黑马程序员_Java项目实战《苍穹外卖》_Day02_新增员工_第2张图片

    解决方法:

    • 先通过调用“员工登录”接口获取一个jwt令牌[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传黑马程序员_Java项目实战《苍穹外卖》_Day02_新增员工_第3张图片

    • 进入“文档管理”-“全局参数设置”,点击[+添加参数],参数名为“token”,参数值为获取到的令牌码[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传黑马程序员_Java项目实战《苍穹外卖》_Day02_新增员工_第4张图片

  2. 设置好请求头部后再次调试
    黑马程序员_Java项目实战《苍穹外卖》_Day02_新增员工_第5张图片

  3. 刷新数据库,查看新增员工数据已插入
    黑马程序员_Java项目实战《苍穹外卖》_Day02_新增员工_第6张图片
    至此,苍穹外卖新增员工部分代码开发测试完毕,同时也可以进行前后端的联调测试。还有两个代码完善点步骤在本篇已省略。

你可能感兴趣的:(苍穹外卖项目,java,开发语言,后端,spring,boot,mybatis,intellij,idea)