mysql 菜单目录生成的参考代码

@Service
public class CategoryServiceImpl implements CategoryService {
	@Autowired
	CategoryMapper categoryMapper;
	@Override
	public List<Category> getAllCategorys() {
		return categoryMapper.getAllCategorys();
	}
	@Override
	public List<Menu> getTreeMenus() {
		List<Menu> treeNodes = categoryMapper.getAllMenus();
		
		
		return RecursiveMenu(treeNodes);
	}
	
	private List<Menu> RecursiveMenu(List<Menu> treeNodes){
		List<Menu> trees = new ArrayList<Menu>();  
		        for (Menu treeNode : treeNodes) {  
		            if (treeNode.getParentId().equals("0") || null==treeNode.getParentId() ) {  
		                trees.add(findAddressChildren(treeNode,treeNodes));  
		            }  
		        }  
		        return trees;  
		}

		/** 
		     * 递归查找地址子节点 
		     * @param treeNodes 
		     * @return 
		     */  
		 public static Menu findAddressChildren(Menu treeNode,List<Menu> treeNodes) {  
		        for (Menu it : treeNodes) {  
		            if(treeNode.getId().equals(it.getParentId())) {  
		                if (treeNode.getChildren() == null) {  
		                    treeNode.setChildren(new ArrayList<Menu>());  
		                }  
		                treeNode.getChildren().add(findAddressChildren(it,treeNodes));  
		            }  
		        }  
		        return treeNode;  
		    } 
	
	
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值