一条sql完成分类自查询树形结构

无敌的宇宙
无敌的宇宙
擅长邻域:Java,HTML,JavaScript,MySQL,支付,退款,图片上传

分类: Java 专栏: java 标签: 一条sql完成分类自查询属性结构

2024-01-22 20:32:44 536浏览

一条sql完成分类自查询属性结构,使用list map循环实现

数据库:

image.png

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展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695