日期:2014-05-17  浏览次数:20722 次

java 无限级递归调用
一个树形菜单, 里面的部门是无限级的, 部门下面可以再添部门, 想用递归, 想请教一下用 JAVA怎么去实现,
数据库是这样的 ,(id,pid,name) .

这是我在网上找到的答案,但不完整,谁能帮我写完这个方法。

查询条件为 pid
select * from table where pid =?

第一次调用传 0,表示根
getNode(0);

public List getNode(int pid){
  List list = ..查询...(pid); //执行查询,自己写吧
  if(list !=null && list.size()!=0){//判断是否查到,没有了表示小的了
  for(int i=0;i<list.size();i++){
  System.out.print(list.get(i).name);
  getNode(list.get(i).id); //根据当前id查询子
  }
  }

------解决方案--------------------
哪里不完整,不是都写好了吗?
难道是这句?List list = ..查询...(pid); //执行查询,自己写吧

这句要连接数据库执行语句就行了啊。
------解决方案--------------------
递归的东西已经写全了,
就剩数据库的东西了,
lz建一个数据库,建张表,连接一下,用jdbc连一下做查询就可以了
------解决方案--------------------
无限极的话,每次只请求一级,不要尝试把所有子级都一次请求出来,因为如果有个死环就完了