递归删除子节点
来源:互联网 发布:windows凭据总丢失 编辑:程序博客网 时间:2024/05/19 22:50
public boolean deleteServiceClass(String serviceClassId) {
ServiceClass serviceClass = getServiceClassById(serviceClassId);
ServiceClass chServiceClass = new ServiceClass();
chServiceClass.setParentId(serviceClass.getId());
List<ServiceClass> chServiceClassList = findServiceClassList(chServiceClass,"null");
if(chServiceClassList!=null && chServiceClassList.size()!=0){
boolean isT = true;
for (int i = 0; i < chServiceClassList.size(); i++) {//循环遍历子节点执行删除子节点操作
if(!deleteServiceClass(chServiceClassList.get(i).getId()))
isT = false;
}
if(isT)//判断如果子节点删完后删除父节点
return serviceClassDao.deleteServiceClass(serviceClassId);
}else{
//删除之前判断该服务分类是否被使用
if(check(serviceClassId))
return serviceClassDao.deleteServiceClass(serviceClassId);
else
return false;
}
return true;
}
public boolean check(String serviceClassId){
// 实例化关联的五张表
UserSkill userSkill = new UserSkill();
ServiceItem serviceItem = new ServiceItem();
ServiceProperties serviceProperties = new ServiceProperties();
ServiceDemand serviceDemand = new ServiceDemand();
ShopInfo shopInfo = new ShopInfo();
// 设置级联删除对象中和主表关联的外键
userSkill.setServiceClassId(serviceClassId);
serviceItem.setServiceClassId(serviceClassId);
serviceProperties.setServiceClassId(serviceClassId);
serviceDemand.setServiceClassId(serviceClassId);
shopInfo.setServiceClassId(serviceClassId);
// 找出需要级联删除的list方法
List<UserSkill> userSkillList = userSkillService.findUserSkillList(
userSkill, null);
List<ServiceItem> serviceItemList = serviceItemService
.findServiceItemList(serviceItem, null);
List<ServiceProperties> servicePropertiesList = servicePropertiesService
.findServicePropertiesList(serviceProperties, null);
List<ServiceDemand> serviceDemandList = serviceDemandService
.findServiceDemandList(serviceDemand, null);
List<ShopInfo> shopInfoList = shopInfoService.findShopInfoList(
shopInfo, null);
boolean flag = true;
if (userSkillList.size() != 0 && userSkillList != null
|| serviceItemList.size() != 0 && serviceItemList != null
|| servicePropertiesList.size() != 0 && servicePropertiesList != null
|| serviceDemandList.size() != 0 && serviceDemandList != null
|| shopInfoList.size() != 0 && shopInfoList != null) {
flag = false;
}
return flag;
}
0 0
- 递归删除子节点
- 运用递归 删除父节点同事删除子节点
- javascript递归删除(DOM)子节点示例
- 递归删除父节点及所有子节点
- MySql 递归子节点
- sql删除树节点 及其子节点的全部(存储过程,游标,递归)
- dtree 删除子节点
- 删除子节点-removeChild
- javascript 子节点删除
- JS删除子节点
- TreeView 递归添加子节点
- sql递归查询子节点
- mysql递归查询子节点
- MYSQL 递归获取 子节点
- 递归删除所有叶子节点
- zookeeper递归删除所有节点
- 【工具类代码】递归获取所有的子节点做删除获取用
- 递归删除树形结构的所有子节点(java和mysql实现)
- 人物肖像油画定制,找人定制一幅人物婚纱肖像油画定制
- 关于Qt4与Qt5不兼容报错
- js设置前台内容字数大小
- JavaScript--事件入门(24)
- 黑马程序员-iOS视频学习之四
- 递归删除子节点
- springMVC文件上传
- Java的继承与多态
- Android源代码的下载
- c语言编程练习(一)
- 判断父节点是否存在
- 杭电 HDU ACM 1323 Perfection
- 黑马程序员------7k月薪面试题-银行业务调度系统
- 进入PE系统后找不到硬盘该怎么办?