失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 递归删除树状数据/递归删除树形结构

递归删除树状数据/递归删除树形结构

时间:2021-07-20 02:02:18

相关推荐

递归删除树状数据/递归删除树形结构

递归删除树状数据

一、场景二、解决方案三、代码落地实现四、最终效果

一、场景

我们在项目的实际开发中会遇到很多树状效果,例如树状图和树状table,这里以树状table举例,这时候我们如果要删除一条数据的话,我们不能只删除它自己,我们要连着将它下面的子节点全部删除

二、解决方案

一般来说删除树形结构我们有两种解决方案

先删除本身,在删除子的,递归删除通过递归拿到所有的id,加入到一个集合列表里面,一起删除

我这里采取的第一种实现思路,第二种实现方案的话我给大家找了一篇优秀博客点击这里跳转

三、代码落地实现

天上飞的理念一定有落地的实现,这是我的实现

@Overridepublic int deleteZgswScslSxbgByIds(String[] ids){for (String id : ids) {deleteZgswScslSxbg(id);}return 1;}private void deleteZgswScslSxbg(String pid){zgswScslSxbgMapper.deleteZgswScslSxbgById(pid);scslZzsxbgZibgMapper.deleteScslZzsxbgZibgByZid(pid);scslDbsxbgZibg1Mapper.deleteScslDbsxbgZibg1ByZid(pid);scslDbsxbgZibg2Mapper.deleteScslDbsxbgZibg2ByZid(pid);ZgswScslSxbg zgswScslSxbg = new ZgswScslSxbg();zgswScslSxbg.setPid(pid);List<ZgswScslSxbg> zgswScslSxbgList = zgswScslSxbgMapper.selectZgswScslSxbgList(zgswScslSxbg);if(zgswScslSxbgList.size()>0){for (ZgswScslSxbg zgswScslSxbg1:zgswScslSxbgList) {if(zgswScslSxbg1.getId()!= null){deleteZgswScslSxbg(zgswScslSxbg1.getId());}}}}

四、最终效果

经过测试递归删除这一块没有任何问题,欢迎大家积极借鉴

如果觉得《递归删除树状数据/递归删除树形结构》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。