这里我们先准备一张数据库表:
这里可以直接写一张只有id字段的表,填充几个数据。
在controller层:
@PostMapping ("/delBatch")
@ApiOperation(value = "批量删除")
public Map<String ,Object> delBatch(@RequestBody DeleteDTO deleteDTO){
Map<String,Object> modelMap = new HashMap<>();
modelMap.put("success",userService.delBatch(deleteDTO));
return modelMap;
}
这里我们返回的是一个Map的键值对,键是"success",值返回的是boolean类型。
这里我们定义了一个类DeleteDTO,里面是我们传入的用户id列表。
在service写接口:
实现接口:
public boolean delBatch(DeleteDTO deleteDTO) {
try {
int effectedNum = 0;
for (String id : deleteDTO.getIds()) {
effectedNum = usersMapper.deleteById(id);
}
if (effectedNum > 0) {
return true;
} else {
throw new RuntimeException("删除用户失败!");
}
} catch (Exception e) {
throw new RuntimeException("删除用户信息:" + e.toString());
}
}
我们用for循环来循环遍历传入的id列表。这里的effectedNum 是我们删除数据后返回的影响行数。
在Mapper中写接口:
最后在xml文件中,写sql语句:
<delete id="deleteById">
DELETE FROM
users
WHERE
id =#{userId}
</delete>
在接口文档中测试,
此时已经删除成功了。