文章目录
黑马程序员2023最新Java项目实战《苍穹外卖》,最适合新手的SpringBoot+SSM的企业级Java项目实战。项目视频
代码开发
根据新增员工接口设计对应的DTO:
注:当前端提交的数据和实体类中对应的属性差别比较大时,建议使用DTO来封装数据
-
在EmployeeController类中编写一个方法,实现新增员工
@PostMapping @ApiOperation("新增员工") public Result save(@RequestBody EmployeeDTO employeeDTO){ log.info("新增员工: {}", employeeDTO); employeeService.save(employeeDTO); return Result.success(); }
-
调用employeeService完成新增操作,在EmployeeService扩展sava方法
public interface EmployeeService { void save(EmployeeDTO employeeDTO); }
-
在实现类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);
-
单表新增,通过注解的方式插入
@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.通过前后端联调
-
进入接口测试网址:苍穹外卖项目接口文档
直接调试会得到401的错误提示响应,原因是存在拦截器,进行jwt令牌校验,没有提交令牌无法通过校验。
解决方法:
-
先通过调用“员工登录”接口获取一个jwt令牌[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
-
进入“文档管理”-“全局参数设置”,点击[+添加参数],参数名为“token”,参数值为获取到的令牌码[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
-
-
设置好请求头部后再次调试
-
刷新数据库,查看新增员工数据已插入
至此,苍穹外卖新增员工部分代码开发测试完毕,同时也可以进行前后端的联调测试。还有两个代码完善点步骤在本篇已省略。