递归删除多级数据
程序开发
2023-09-11 21:27:30
删除需求:
@DeleteMapping("{oneId}")public R deleteOneId(@PathVariable("oneId") String oneId){boolean flag = eduSubjectService.deleByOneId(oneId);if (flag){return R.ok();}return R.error();}
实现类
@Overridepublic boolean deleByOneId(String oneId) {ArrayList ids = new ArrayList<>();//先把要删除的一级分类id放入到集合中ids.add(oneId);//递归的将一级分类下的id也加入到集合中this.getIds(ids,oneId);//批量删除集合中的idint i = baseMapper.deleteBatchIds(ids);return i>0;}//递归方法
private void getIds(ArrayList ids, String oneId) {//查询二级分类的对象QueryWrapper Wrapper = new QueryWrapper<>();Wrapper.eq("parent_id",oneId);List twoSubjects = baseMapper.selectList(Wrapper);//遍历二级分类的对象,把二级分类的id加入到要删除的集合中for (EduSubject twoSubject : twoSubjects) {String id = twoSubject.getId();ids.add(id);//把二级分类的每一个ID,查询它下面的子节点this.getIds(ids,id);}
}
原文链接:https://blog.csdn.net/weixin_42985774/article/details/100562267
标签:
上一篇:
ng-tabset 无法显示
下一篇:
相关文章
-
无相关信息