Java图书管理系统:递归删除图书及其子图书
这段代码实现了删除图书的功能。首先通过 @RequestParam 获取要删除的图书的 id,然后调用 deleteBookParent 方法删除该图书及其子图书。deleteBookParent 方法首先查询该图书的子图书,如果有子图书则递归调用 deleteBookParent 方法删除子图书,然后删除该图书,并调用 removeBookByBtId 方法删除该图书对应的所有图书。removeBookByBtId 方法通过 btId 查询该图书对应的所有图书,并将其删除。最后返回删除成功的结果。
public R<?> deleteBook(@RequestParam(name = 'id') String id) {
deleteBookParent(id);
return R.status(true);
}
public void deleteBookParent(String id){
List<TrainBookType> list = this.trainBookTypeService.lambdaQuery().eq(TrainBookType::getParentId, id).list();
if (list.size() > 0) {
list.forEach(a -> deleteBookParent(a.getId()));
}
this.trainBookTypeService.removeById(id);
removeBookByBtId(id);
}
private void removeBookByBtId(String btId) {
LambdaQueryWrapper<TrainBook> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TrainBook::getTypeId, btId);
this.trainBookService.remove(queryWrapper);
}
该代码展示了如何使用Java实现递归删除图书及其子图书的功能。它利用了 @RequestParam 获取图书ID,并使用递归函数 deleteBookParent 实现删除操作。代码中还使用了 LambdaQueryWrapper 进行数据库查询,并使用 removeById 和 remove 方法进行数据删除。
原文地址: https://www.cveoy.top/t/topic/mKg8 著作权归作者所有。请勿转载和采集!