javaweb递归删除子节点
需求:点击删除父节点,其对应的子节点也跟着删除。
serviceImpl 业务逻辑代码:
@Override
public void deleteMenuById(SysMenu menu) {
List<String> deletedIds = new ArrayList<String>();
deletedIds.add(menu.getId());
//执行批量删除
findSubNode(deletedIds,menu.getId());
this.deleteByIds(menu,deletedIds);
}
@Override
public void findSubNode(List<String> deletedIds, String id) {
SysMenu sysMenu = new SysMenu ();
sysMenu.setParentId(id);
//查询当前分类子目录
List<SysMenu> list = this.mapper.selectByPid(sysMenu);
for (SysMenu sysMenu2 :list){
//把子类id放入集合中
deletedIds.add(sysMenu2.getId());
findSubNode(deletedIds,sysMenu2.getId());
}
}
@Override
public void deleteByIds(SysMenu sysMenu,List<String> ids) {
this.mapper.deleteByIds(sysMenu,ids);
}
上一篇:
IDEA上Java项目控制台中文乱码
