素材巴巴 > 程序开发 >

递归删除多级数据

程序开发 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 无法显示 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。