自己開發遇到的後台組裝的樹結構方法,記錄下來
1、首先資料庫為oracle,使用 start with 語句和union 組裝要查詢資料:
select * from (
select equip.equip_category_id as id,equip.equip_category_name as name,'' as pid,'1' as lev from sys_dis_defect_library equip
union all
select parts."id" as id,parts.parts_name as name,parts.equip_category_id as pid,'2' as lev from sys_dis_defect_parts parts
union all
select place.id as id,place.place_name as name,place.parts_id as pid,'3' as lev from sys_dis_defect_place place
union all
select descr."id" as id,descr.description as name,descr.place_id as pid,'4' as lev from sys_dis_defect_description descr
union all
select classif."id" as id,classif.classification as name,classif.description_id as pid,'5' as lev from sys_dis_defect_classification classif
)t start with t.pid is null connect by prior t.id = t.pid ;
dao層實現方法
2、將list資料處理,組裝成tree資料結構public list> getdefectstandlibrarytree(string rootid) else
return result;
}
這裡使用的迭代的演算法
service層
迭代方法public dsltreebo getdefectstandlibrarytree(string rootid) else
return treeroot;
}
// 取節點的所有children
private listgetchildren(list> results, string rootid)
list.add(root);
}} return list;
}
最後是treebo實體
public class dsltreebo
public void setdefectlevel(string defectlevel)
public string getid()
public void setid(string id)
public string getname()
public void setname(string name)
public string getlevel()
public void setlevel(string level)
public listgetchildren() else*/
if(this.children==null)else
} public void setchildren(listchildren)
this.children.addall(children);
} public dsltreebo(string id, string name, string level)
public dsltreebo(string id, string name, string level,string defectlevel)
public dsltreebo()
}
JS組裝資料結構
開始的資料結構如下 裡面的工程資料是一條條的.var reg code 0,message 操作成功 現在要做的是把專案id相同的工程放在同一專案下 project陣列裡 資料結構如下 var data 實現 如下 var plandata var map var data reg.data for...
資料結構(java) 樹
線性結構中,乙個節點至多只有乙個頭節點,至多只有乙個尾節點,彼此連線起來是一條完整的線。比如鍊錶和陣列 而樹,非線性結構的典型例子,不再是一對一,而變成了一對多 而圖則可以是 多對多 如下圖所示 幾個概念 1 根節點 父親節點 孩子節點 葉子節點 2 節點的度 節點擁有的子樹的數目稱為節點的度。比如...
資料結構(承) 樹型結構(一)
樹的定義 具有n n 0 個節點的有限非空集合,且有且只有乙個特定的節點成為根。節點 節點表示樹中的元素,包括資料項及若干指向子樹的分支。節點的度 節點所擁有的子樹的個數稱為該節點的度 degree 樹的度 樹中各節點度的最大值成為樹的度。葉節點 度為0的節點稱為葉節點。分支節點 度不為0的節點成為...