首先就是由于是层级结构,想要展示出一对多多多的效果,不考虑多此查询,使用一次查询
SQLSELECt a.id,a.`name`,b.id as bid,b.`name` as bname,c.id as cid,c.`name` as cname,d.id as did,d.`name` as dname,d.flag as dflag FROM admin a LEFT JOIN admin b ON b.superior = a.id LEFT JOIN admin c ON c.superior = b.id LEFT JOIN admin d ON d.superior = c.id WHERe a.`level` = 1;查询效果 Mapper结构 Dao
Listmapper> getAllOfficeConstruction();
resultMapSELECT a.id,a.`name`,b.id as bid,b.`name` as bname,c.id as cid,c.`name` as cname,d.id as did,d.`name` as dname,d.flag as dflag FROM admin a LEFT JOIN admin b ON b.superior = a.id LEFT JOIN admin c ON c.superior = b.id LEFT JOIN admin d ON d.superior = c.id WHERe a.`level` = 1;
最终效果
{
"code": 200,
"msg": "查询成功",
"data": {
"list": [
{
"name": "全域办",
"id": 15,
"child": [
{
"name": "乡",
"id": 33,
"child": [
{
"name": "村",
"id": 161,
"child": [
{
"flag": 2,
"name": "陶",
"id": 62
}
]
}
]
}
]
}
]
}
}



