Java删除树形数据

/**
* 删除某个项目
* 同时删除下面的子项目
*
* @param pId
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteProject(String pId) {
ArrayList<String> pIdList = new ArrayList<>();
pIdList.add(pId);
this.getIds(pIdList, pId);
projectMapper.deleteBatchIds(pIdList);
}

/**
* 递归获取
* @param ids
* @param oneId
*/
private void getIds(ArrayList<String> ids, String oneId) {
QueryWrapper<Project> wrapper = new QueryWrapper<>();
wrapper.eq("P_PARENT_ID", oneId);
List<Project> projectList = projectMapper.selectList(wrapper);

//遍历二级分类的对象,把二级分类的id加入到要删除的集合中
for (Project project : projectList) {
String id = project.getpId();
ids.add(id);
this.getIds(ids, id);
}

}
posted @ 2020-09-17 17:49  CEO雷总  阅读(751)  评论(0编辑  收藏  举报