樹形資料結構的級聯查詢(子查詢 遞迴)

2021-10-14 23:22:40 字數 1855 閱讀 3795

說明:

當一張表中同時存在id和pid(parent id),我們需要用子連線查出其中的級聯關係,並將資料展示為多級列表(樹形資料結構),參考以下查詢的方法。

/** * 查詢課程型別的樹形結構,多級選單資料

* @return

*/("/treedata"

)public ajaxresult gettreedata()

@override

public ajaxresult gettreedata()

public

inte***ce

extends

注意:

sql語句中引入了乙個字段"children",需要在實體類中新增宣告這個字段。

@tablefield

(exist =

false

)//當新增表中沒有的字段的時候,需要加上這個註解

private list

children;

>

<

!-- 通用查詢對映結果 --

>

"baseresultmap" type=

"cn.itsource.hb.domain.coursetype"

>

"id" property=

"id"

/>

<

!--巢狀子查詢:查詢當前分類下的子分類列表 :1037

是當前map型別時,它會自動將查詢出來的每一條資料的column=

"id"作為查詢條件,來執行指定的select語句

property :對應的 type=

"cn.itsource.hrm.domain.coursetype"中的屬性值。

將collection查詢出來的結果 ,儲存到 coursetype中的指定屬性中

oftype : 當前collection執行之後,返回的集合中的物件型別

column : 表中的字段的值作為select的查詢條件

select : 當前collection將要執行的sql語句(支援2種傳入方式:

1. sql語句;

-->

"children"

oftype=

"cn.itsource.hb.domain.coursetype"

column=

"id"

select=

/>

<

/resultmap>

"selectbypid" resultmap=

"baseresultmap"

>

select * from t_course_type where pid = #

<

/select>

<

!-- 查出頂級目錄,頂級目錄的pid=

0,再遞迴查出各級子目錄 --

>

"selectfortreedata" resultmap=

"baseresultmap"

>

select * from t_course_type where pid =

0<

/select>

<

一級一級的層級關係如下

SQLServer樹形資料結構的資料進行資料統計

前言 前幾天朋友問我,關於sqlserver資料庫中對樹形結構的表資料統計問題,需求大致如下 分類表 遞迴資料 a的子分類是b,b的子分類是c 分類關係不間斷,a為第一層,b為第二層,c為第三層 需要統計 每個分類所在的層數 子分類的總數 和 子分類的層數 解決思路 建立示例表結構,如下 分類示例表...

如何查詢樹形結構的資料

先看結果 這是乙個分類資料,可口可樂是一級分類,美汁源是2級分類,美之源是350ml是 分類,當然還是可以繼續分的,看下資料結構 id 分類自身的id parentid 該分類的付節點id 有注釋大家可以自己看 這是資料庫表資料,如何查處想圖1一樣的json樹形結構呢 尋找子節點 private s...

sql實現ORACLE 資料庫的級聯查詢

在oracle 資料庫中有使用sql實現級聯查詢 select 要查詢的字段 from table 具有子接點id與父接點id的表 start with selfid id 給定乙個startid 欄位名為子接點id,及開始的id號 connect by prior selfid parentid ...