springboot 遞迴無限級分類 生成樹樣式

2021-10-10 19:28:49 字數 2675 閱讀 1884

這裡的業務場景是 分類 比如:電影分類中有 動作電影 ,愛情電影,愛情動作電影等。

create

table

`vc_col`

(`col_id`

bigint(20

)not

null

auto_increment

comment

'分類id'

,`parent_id`

bigint(20

)default

null

comment

'父id'

,`ancestors`

varchar

(100

)default

null

comment

'祖級列表'

,`col_name`

varchar(50

)default

null

comment

'分類名稱'

,`order_num`

int(4)

default

null

comment

'顯示序列',`

status

`char(1

)default

null

comment

'狀態'

,`del_flag`

char(1

)default

'0'comment

'刪除標誌(0代表存在 2代表刪除)'

,`create_by`

varchar(64

)default

''comment

'建立者'

,`create_time`

datetime

default

null

comment

'建立時間'

,`update_by`

varchar(64

)default

''comment

'更新者'

,`update_time`

datetime

default

null

comment

'更新時間'

,primary

key(

`col_id`))

engine

=innodb

auto_increment=14

default

charset

=utf8 comment

='分類'

;

public

class

colimplements

serializable

這裡是查全部 有需要調優的同學自行調優

select col_id, parent_id, ancestors, col_name, order_num,

status

, del_flag,

from vc_col

採用遞迴演算法實現,學思路就可以。

/**

* 查詢所有 父節點+子節點 父子->孩子格式的json

* @return

*/@override

public list

findcolandchildren()

linkedlist

collinkedlist =

newlinkedlist

<

>()

; collist.

foreach

(data-

>})

; collinkedlist.

foreach

(data-

>);

return collinkedlist;

}//遞迴獲取children節點

private list

getchildren

(long parentid,list

collist)})

;// 遞迴退出條件

if(collinkedlist.

size()

==0)// 把子選單的子選單再遞迴迴圈一遍

collinkedlist.

foreach

(data-

>);

return collinkedlist;

}

/**

* 查詢所有 父節點+子節點 父子->孩子格式的json

* @return

*/("/findcolandchildren"

)@responsebody

public ajaxresult findcolandchildren()

return

error

("沒有查到相應的資料!");

}

最後出來的格式是這樣的 我只最了兩級的資料,這個是可無限極的,沒來的及做。

,

]},,

]},]},

]}], "code"

:"0"

}

僅供參考,若有錯誤,望大佬指正。

無限級遞迴

無限級遞迴 例一 public function recursion public function cate info,child,pid return child 返回生成的樹形陣列 例二 public function recursion public function cate info,c...

遞迴遍歷無限級分類

有時候我們會有這樣的需求。將一張無限級分類表,處理好層級關係 例如,選擇選擇部門的上級關係 表資料格式。pid 0 為頂級 id pid name 1 0 行政 2 1 主管 3 0 人事 4 3 經理 5 4 員工轉換格式為以下格式,普通現實方法為,使用sql一層層去查詢。我們可以一次把所有資料拿...

PHP 無限級分類 遞迴

arr array array id 1,name 電腦 pid 0 array id 2,name 手機 pid 0 array id 3,name 筆記本 pid 1 array id 4,name 台式電腦 pid 1 array id 5,name 智慧型機 pid 2 array id 6...