mybatis獲取遞迴自查詢的資料

2021-09-21 01:52:56 字數 714 閱讀 5263

專案中你是否會遇到這樣的問題?選單資料全寫在一張表裡,而我們需要用陣列將這些資料存下來並交給前端大佬,問題的關鍵就是,我們怎麼做才能將一級選單資料—二級選單資料—**選單資料······一一對應呢?

由於自身的原因,這裡的缺失,就文字描述,爭取讓大家看懂。

我當初的想法,本著對註解sql比較熟悉,那麼就用註解吧,然後就直接查詢全部資料,再使用

@results()

將自身給連線起來(在bean物件裡新增了兩個次級選單id和兩個次級選單的linkedlist物件,這裡用id1,id2,linkedlist1,linkedlist2來說明),這樣做,資料倒是出來了,但是仔細一看,一級選單資料與二級選單資料(後面同上)根本沒有對應上,每乙個一級選單物件內的二級選單物件,都是一模一樣的,這樣根本不能動態對應。多次嘗試無解後,結合網上的查詢,我明白只能使用xml對映來寫了

這次有圖了(感謝當時一起工作的朋友給的圖)

該圖非常直觀,一看就明白,通過resultmap對映bean物件裡的字段,然後用collection來對映物件內的物件,這樣便可以做到一一對應了。

個人認為,遇到sql問題不用太過糾結,若是能使用註解sql,盡量使用註解sql,註解sql解決不了的,就用xml對映吧,兩者可以結合。

第一次寫,求輕噴,如果有註解sql能解決問題的大佬,求教

mybatis 遞迴查詢

現有乙個表的資料如下 idpid namea0 第一組a 1 a第一組第乙個 a 2a 第一組第二個b0 第二組b 1 b第二組第乙個 namespace getself type com.entity.treenode column id property idtree column pid pr...

mybatis中的查詢

第一種,根據建立時間查詢,搜尋框中開始時間和結束時間,在搜尋的時間段中包含建立時間的記錄被查詢出來 and a.insert date between and 第二種,模糊查詢,根據關鍵字模糊查詢 and a.car id like 第三種,統計,如果統計結果只有一條並且只有一列,那麼直接返回int...

Mybatis的遍歷查詢

陣列遍歷 queryuserbyidarray resulttype user parametertype int select from user array null and array.length 0 array open and id in close item id separator ...