一条sql完成分类自查询树形结构
分类: Java 专栏: java 标签: 一条sql完成分类自查询属性结构
2024-01-22 20:32:44 1229浏览
一条sql完成分类自查询属性结构,使用list map循环实现
数据库:
image.png

image.png
@RequestMapping("/list")
public MessUntil list( TbCat u) {
MessUntil mess=new MessUntil();
List<TbCat> li=catService.getlist(u);
Map<Integer,TbCat> catmap=new HashMap<>();
Map<Integer,List<Map<String,Object>>> m234=new HashMap<>();
List<Map<String,Object>> allLi=new ArrayList<>();
for(TbCat c:li){
catmap.put(c.getId(),c);
if(c.getParid().equals(0)){
Map<String,Object> m1=new HashMap<>();
m1.put("value",c.getId());
m1.put("label",c.getCatName());
allLi.add(m1);
}else{
List<Map<String,Object>> lim234=m234.get(c.getParid());
if(lim234==null) lim234=new ArrayList<>();
Map<String,Object> mm=new HashMap<>();
mm.put("value",c.getId());
mm.put("label",c.getCatName());
lim234.add(mm);
m234.put(c.getParid(),lim234);
}
}
for (Map.Entry<Integer,List<Map<String,Object>>> entry : m234.entrySet()) {
Integer id=entry.getKey();
List<Map<String,Object>> vli=entry.getValue();
for(Map<String,Object> mm:vli){
if(mm.get("value")!=null){
Integer idd=(Integer) mm.get("value" );
mm.put("children",m234.get(idd));
}
}
}
for(Map<String,Object> m:allLi){
Integer value=(Integer) m.get("value");
if(m234.get(value)!=null)m.put("children",m234.get(value));
}
return mess.succ(allLi);
}
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
暂无评论,快来写一下吧
展开评论
您可能感兴趣的博客
他的专栏
他感兴趣的技术

java
vue
springboot
Mysql
ssm
小程序
uniapp
js和jquery