package lich.sdsy.domain;import java.util.ArrayList;
import java.util.List;public class Department {
private int id;
private String dept_name;
private List<Department> deptList=new ArrayList<Department>();
private int parent_id;
}
package lich.sdsy.test;
import java.util.ArrayList;
import java.util.List;
import lich.sdsy.dao.DepartmentDao;
import lich.sdsy.dao.impl.DepartmentDaoImpl;
import lich.sdsy.domain.Department;public class TestGrading {
int i=0;
public static void main(String[] args) {
TestGrading tg=new TestGrading();
tg.PrintDept(tg.FindChildren());
}
public List<Department> FindChildren(){
DepartmentDao deptDao=new DepartmentDaoImpl();
List<Department> dept_all=new ArrayList<Department>();
List<Department> dept_root=new ArrayList<Department>();
try {
dept_all=deptDao.findAllDepts();
System.out.println("dpet_all:"+dept_all);
dept_root=FindChildByParentId(dept_all,1);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return dept_root;
}
public List<Department> FindChildByParentId(List<Department> list,int parent_id){
System.out.println("parent_id:"+parent_id);//0
List<Department> dept_children=new ArrayList<Department>();
System.out.println("new dept_children.size:"+dept_children.size());
for(Department dept:list){
System.out.println("dept.id:"+dept.getId()+",dept.parentid:"+dept.getParent_id()+",parentid"+parent_id);
if(dept.getParent_id()==parent_id){
System.out.println(i++);
System.out.println("dept.getid"+dept.getId()+",parentid"+parent_id);
dept_children.add(dept);
System.out.println("dept_chidleren.size:"+dept_children.size());
}
}
System.out.println("dept_children.size():"+dept_children.size());
if(dept_children.size()>0){
for(Department dept:dept_children){
FindChildByParentId(list, dept.getId());
}
}
return dept_children;
}
public void PrintDept(List<Department> list){
for(Department dept:list){
System.out.println("print.dept.name:"+dept.getDept_name());
System.out.println("prinat.dept.id:"+dept.getId());
List<Department> depts=dept.getDeptList();
System.out.println("print.depts.deptlist.size:"+depts.size());
// if(depts.size()>0){
// PrintDept(depts);
// }
}
}
}sql结构:id deptname parent_id;
1,a,0
2,b,1
3,c,1
4,d,1
5,e,2
6,f,2
7,g,3
8,h,4
9,i,4
import java.util.List;public class Department {
private int id;
private String dept_name;
private List<Department> deptList=new ArrayList<Department>();
private int parent_id;
}
package lich.sdsy.test;
import java.util.ArrayList;
import java.util.List;
import lich.sdsy.dao.DepartmentDao;
import lich.sdsy.dao.impl.DepartmentDaoImpl;
import lich.sdsy.domain.Department;public class TestGrading {
int i=0;
public static void main(String[] args) {
TestGrading tg=new TestGrading();
tg.PrintDept(tg.FindChildren());
}
public List<Department> FindChildren(){
DepartmentDao deptDao=new DepartmentDaoImpl();
List<Department> dept_all=new ArrayList<Department>();
List<Department> dept_root=new ArrayList<Department>();
try {
dept_all=deptDao.findAllDepts();
System.out.println("dpet_all:"+dept_all);
dept_root=FindChildByParentId(dept_all,1);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return dept_root;
}
public List<Department> FindChildByParentId(List<Department> list,int parent_id){
System.out.println("parent_id:"+parent_id);//0
List<Department> dept_children=new ArrayList<Department>();
System.out.println("new dept_children.size:"+dept_children.size());
for(Department dept:list){
System.out.println("dept.id:"+dept.getId()+",dept.parentid:"+dept.getParent_id()+",parentid"+parent_id);
if(dept.getParent_id()==parent_id){
System.out.println(i++);
System.out.println("dept.getid"+dept.getId()+",parentid"+parent_id);
dept_children.add(dept);
System.out.println("dept_chidleren.size:"+dept_children.size());
}
}
System.out.println("dept_children.size():"+dept_children.size());
if(dept_children.size()>0){
for(Department dept:dept_children){
FindChildByParentId(list, dept.getId());
}
}
return dept_children;
}
public void PrintDept(List<Department> list){
for(Department dept:list){
System.out.println("print.dept.name:"+dept.getDept_name());
System.out.println("prinat.dept.id:"+dept.getId());
List<Department> depts=dept.getDeptList();
System.out.println("print.depts.deptlist.size:"+depts.size());
// if(depts.size()>0){
// PrintDept(depts);
// }
}
}
}sql结构:id deptname parent_id;
1,a,0
2,b,1
3,c,1
4,d,1
5,e,2
6,f,2
7,g,3
8,h,4
9,i,4
解决方案 »
- SSH项目,原来用的 Mysql数据库,现在换SQl2000为什么报错了?求指点
- 关于dao中处理异常的问题
- glassfish和myeclipse集成,运行程序时出现了这样的错误怎么解决
- Struts1.x高手请进,关于动态生成的下拉菜单的验证
- 调用一个web服务,当一定时间内调用次数达到一定次数后,服务就会禁止访问了,这是怎么实现的?如何突破这个限制啊??
- hibernate的criteria查询的问题
- struts图片问题
- [200分]在spring中有几种依赖注入,分别是什么,怎么具体来设置使用,在构造函数的依赖注入中如果该构造函数的参数是一个Class,那该如
- JSP一个比较简单的问题,帮忙看看怎么做
- 安装tomcat后,http://localhost:8080打不开
- java.lang.ClassFormatError: Unknown constant tag 0 in class file
- spring in action 谁有??????
看测试语句的话 没问题是装进去了 可是
循环往出取值时候 ept.getDeptList()就是空的..
没有把遍历做成的子集合set到父级dept里面if(dept_children.size()>0){
for(Department dept:list){
if(dept.getId()==parent_id){
dept.setDeptList(dept_children);
}
}
for(Department dept:dept_children){
FindChildByParentId(list, dept.getId());
}
}