这个如何递归处理无限级子类 MySql表T中有id和parentId2个字段[举例]而且parentid是这个表的外键,现在我要如何才能删除一条记录和与该记录有关的子。P的子类可能有无限级,一级有无限个,而且pojo类不能修改,数据表不能修改。递归想了好久没想出来...求助!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /** * 查詢數據。 *@param parentID 關聯的ID值。 */public List getDatas(int parentID){ //這裏按parentID查詢數據。 //如果查詢出來的數據不為空,或空白例如:List<Data> lists!=null && lists.size()>=1 for(Data d: lists) { lists.addAll(getDatas(d.getID())); } return lists;} id parentId name 1 null ZG 2 1 GD 3 2 GZ 4 2 SZ 5 1 FJ 6 5 NP 7 6 JY 8 7 None 9 8 None类似于这个表,要做到删除FJ的时候删除属于FJ的所有记录这个要如何处理? FJ是FK吗,如果是的话,就把所有关于FJ的都一起删除啊,事务不要设置为自动提交,而应手动提交就可以来了啊。 这个要用递归来实现,我不太懂MySQL,大概的思路是这样的:void deleteID(id){ if(parentID==id的记录不存在){ //说明id没有子记录。 直接删除id对应的记录。 }else{ 找出所有满足parentId==id的记录的id,把结果放入数组x(或List)中。 对数组x(或List中)的每一个元素:delete(x[i]); }} 线程定时问题 Array/Arrays 有什么区别? java 编程生成代码 求助? 一道题 请达人指教~~~~~~~~~~~~~ 为什么JFrame中只能显示一个控件? 急!急!急!!偶笔记本的WINXP的用户密码忘了怎么办!?在线等待! J2SE和J2EE有什么区别呢? 想问一些关于日期处理的问题? 一个朋友的遭遇和我的意见 静态方法可以调用别的类里面的方法吗 菜鸟问题,都进来看看吧 请教一个保存数据的问!(简单)
/**
* 查詢數據。
*@param parentID 關聯的ID值。
*/
public List getDatas(int parentID)
{
//這裏按parentID查詢數據。
//如果查詢出來的數據不為空,或空白例如:List<Data> lists!=null && lists.size()>=1
for(Data d: lists)
{
lists.addAll(getDatas(d.getID()));
}
return lists;
}
1 null ZG
2 1 GD
3 2 GZ
4 2 SZ
5 1 FJ
6 5 NP
7 6 JY
8 7 None
9 8 None
类似于这个表,要做到删除FJ的时候删除属于FJ的所有记录这个要如何处理?
if(parentID==id的记录不存在){ //说明id没有子记录。
直接删除id对应的记录。
}else{
找出所有满足parentId==id的记录的id,把结果放入数组x(或List)中。
对数组x(或List中)的每一个元素:delete(x[i]);
}
}