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

oracle树形查询如何在java中做成map
create table Dept(   
DepartNO varchar2(10),  
DepartName varchar2(20),  
TopNo varchar2(10)  
);

insert into Dept values('001',' 董事会','0'); commit;  
 insert into Dept values('002','总裁办 ','001'); commit;  
 insert into Dept values('003','财务部 ','001'); commit;   
insert into Dept values('004','市场部 ','002'); commit;   
insert into Dept values('005','公关部 ','002'); commit;   
insert into Dept values('006','销售部 ','002'); commit;   
insert into Dept values('007','分销处 ','006'); commit;   
insert into Dept values('008','业务拓展处','004'); commit;   
insert into Dept values('009','销售科','007'); commit; 


现在要在java中做成一个map<String,Object>,不能写死,因为这是测试表,可能层级更多,当我点击一个部门时,把所有下面的子部门都查出来

比如说
当我传入 id 为006时,

map为
id:006
name: 销售部
list: [id : 007 name:分销处 list:[id: 009 name:销售科 list:[]]] 



如果传入id为001

那么就是
id:001
name: 董事会
list: [
            id : 002 name:总裁办 list:[
                                        id: 004  name:市场部  list:[.....]
                                     ]
            id : 003 name:财务部 list:[ 
                                         id: 005 name:公关部 list:[.....]
                                      ]
       ] 



这个map的格式可能不对,但是应该能看明白什么意思把
部门有多少层级最后map的层级也是多少