查看页面原型,明确需求
页面原型
有批量删除和删除单个数据
需求
查看接口文档
接口文档的链接如下:
【腾讯文档】SpringBoot案例所需文档
https://docs.qq.com/doc/DUkRiTWVaUmFVck9N
思路分析
删除单个数据,将要删除的员工信息的id传递给后端,后端通过id进行员工数据的删除,根据接口文档可以知道,前端将id通过路径参数的形式传递至后端,后端如何接收路径参数,具体参照文章:请求响应-路径参数的接收_熵240的博客-CSDN博客
由于存在批量删除的操作,接收到的路径参数为集合或数组数据类型,因此SQL语句的编写需要对接收到的路径参数进行遍历,该动态SQL语句的编写需要使用<foreach>标签,具体如何使用,参照文章:MyBatis-动态SQL-foreach_熵240的博客-CSDN博客
接口功能实现
控制层(Controller类)
具体关键代码
@DeleteMapping("/emps/{ids}") // {ids}为一个路径参数
/**
* 根据id删除员工信息
* @return
*/
// TODO 使用@PathVariable表示使用ids来接收前端的路径参数
public Result DeleteByID(@PathVariable List<Integer> ids) {
log.info("根据id删除员工信息,参数ids:{}", ids);
empService.DeleteByID(ids);
return Result.success();
}
业务层(Service类)
业务类
void DeleteByID(List<Integer> ids);
业务实现类
@Override
public void DeleteByID(List<Integer> ids) {
empMapper.DeleteByID(ids);
}
持久层(Mapper类)
具体关键代码如下
void DeleteByID(List<Integer> ids);
Mapper.xml映射文件
具体关键代码如下
<!-- todo 删除操作-->
<delete id="DeleteByID">
delete
from emp
where id in
<foreach collection="ids" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</delete>
接口测试
启动SpringBoot项目,使用postman进行接口功能的测试,请求地址及请求参数如下:
运行结果如下:
前后端联调
启动课程提供的ngnix项目,运行结果如下:
进行单个员工数据的删除
删除第一条数据
运行结果如下:
批量删除员工信息
删除前三条数据信息
运行结果如下