日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql如何实现树状结构数据列表

發布時間:2023/12/29 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql如何实现树状结构数据列表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.數據庫設計

CREATE TABLE `expense_type` (`ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '費用類型唯一主鍵ID',`NAME` varchar(100) DEFAULT NULL COMMENT '費用類型名稱',`PID` int(11) DEFAULT NULL,`IS_DEL` varchar(20) DEFAULT '0' COMMENT '0為未刪除,1為已刪除,默認為0',PRIMARY KEY (`ID`) USING BTREE,KEY `isDel` (`IS_DEL`) USING BTREE COMMENT '假刪除字段索引' ) ENGINE=InnoDB AUTO_INCREMENT=92 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

2.service層代碼

@Overridepublic RestResponse getAllExpenseType() {List<ExpenseType> expenseTypes = expenseTypeMapper.selectList();//查詢此表的所有數據sql即可expenseTypes = generateTree(expenseTypes);return RestResponse.success(expenseTypes);}private List<ExpenseType> generateTree(List<ExpenseType> expenseTypeList) {List<ExpenseType> orgList = new ArrayList<>();for (ExpenseType sysMenu : expenseTypeList) {if (sysMenu.getPid() == null) {orgList.add(sysMenu);addSubs(sysMenu, expenseTypeList);}}return orgList;}private ExpenseType addSubs(ExpenseType org, List<ExpenseType> list) {for (ExpenseType sysOrg : list) {if (org.getId().equals(sysOrg.getPid())) {org.getSubs().add(addSubs(sysOrg, list));}}return org;}

3.查詢出來的結構即為樹狀結構(理論上無窮級數)

總結

以上是生活随笔為你收集整理的mysql如何实现树状结构数据列表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。