网站建设详细工作汇报,广东的网站建设,网上平面设计,深圳网站建设高端3.3 删除员工
查询员完成之后#xff0c;我们继续开发新的功能#xff1a;删除员工。
3.3.1 需求 当我们勾选列表前面的复选框#xff0c;然后点击 批量删除 按钮#xff0c;就可以将这一批次的员工信息删除掉了。也可以只勾选一个复选框#xff0c;仅删除一…3.3 删除员工
查询员完成之后我们继续开发新的功能删除员工。
3.3.1 需求 当我们勾选列表前面的复选框然后点击 批量删除 按钮就可以将这一批次的员工信息删除掉了。也可以只勾选一个复选框仅删除一个员工信息。
问题我们需要开发两个功能接口吗一个删除单个员工一个删除多个员工
答案不需要。 只需要开发一个功能接口即可删除多个员工包含只删除一个员工 3.3.2 接口文档
删除员工 基本信息 请求路径/emps/{ids}
请求方式DELETE
接口描述该接口用于批量删除员工的数据信息 请求参数 参数格式路径参数 参数说明 参数名类型示例是否必须备注ids数组 array1,2,3必须员工的id数组请求参数样例 /emps/1,2,3 响应数据 参数格式application/json 参数说明 参数名类型是否必须备注codenumber必须响应码1 代表成功0 代表失败msgstring非必须提示信息dataobject非必须返回的数据响应数据样例 {code:1,msg:success,data:null
}
3.3.3 思路分析 接口文档规定 前端请求路径/emps/{ids} 前端请求方式DELETE 问题1怎么在controller中接收请求路径中的路径参数 PathVariable 问题2如何限定请求方式是delete DeleteMapping 问题3在Mapper接口中执行delete操作的SQL语句时条件中的id值是不确定的是动态的怎么实现呢 Mybatis中的动态SQLforeach 3.3.4 功能开发
通过查看接口文档删除员工 请求路径/emps/{ids} 请求方式DELETE 请求参数路径参数 {ids} 响应数据json格式 EmpController
Slf4j
RestController
RequestMapping(/emps)
public class EmpController {
Autowiredprivate EmpService empService;
//批量删除DeleteMapping(/{ids})public Result delete(PathVariable ListInteger ids){empService.delete(ids);return Result.success();}
//条件分页查询GetMappingpublic Result page(RequestParam(defaultValue 1) Integer page,RequestParam(defaultValue 10) Integer pageSize,String name, Short gender,DateTimeFormat(pattern yyyy-MM-dd) LocalDate begin,DateTimeFormat(pattern yyyy-MM-dd) LocalDate end) {//记录日志log.info(分页查询参数{},{},{},{},{},{}, page, pageSize,name, gender, begin, end);//调用业务层分页查询功能PageBean pageBean empService.page(page, pageSize, name, gender, begin, end);//响应return Result.success(pageBean);}
}
EmpService
public interface EmpService {
/*** 批量删除操作* param ids id集合*/void delete(ListInteger ids);
//省略...
}
EmpServiceImpl
Slf4j
Service
public class EmpServiceImpl implements EmpService {Autowiredprivate EmpMapper empMapper;
Overridepublic void delete(ListInteger ids) {empMapper.delete(ids);}
//省略...
}
EmpMapper
Mapper
public interface EmpMapper {//批量删除void delete(ListInteger ids);
//省略...
}
EmpMapper.xml
?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.itheima.mapper.EmpMapper
!--批量删除员工--select iddeletedelete from emp where id inforeach collectionids itemid open( close) separator,#{id}/foreach/select
!-- 省略... --
/mapper 3.3.5 功能测试
功能开发完成后重启项目工程打开postman发起DELETE请求 控制台SQL语句 3.3.6 前后端联调
打开浏览器测试后端功能接口