Java后端实现批量删除
这里我们先准备一张数据库表: 这里可以直接写一张只有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>
在接口文档中测试,
此时已经删除成功了。
下一篇:
数字IC书籍/文档推荐,持续更新ing