SpringBoot案例-员工管理-删除员工

查看页面原型,明确需求

页面原型

有批量删除和删除单个数据 

需求

 

查看接口文档

接口文档的链接如下:

 【腾讯文档】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项目,运行结果如下:

 

进行单个员工数据的删除 

删除第一条数据

运行结果如下:

 

批量删除员工信息

删除前三条数据信息 

运行结果如下

 

 

猜你喜欢

转载自blog.csdn.net/weixin_64939936/article/details/132370146