商品分类无限层级递归
商品分类递归
注意点:使用递归实现商品分类。一定需要控制循环跳出,我这里是用list是否为null控制,不然会发生死循环,造成内存溢出
/**
* 递归所有分类,组成列表
* @return
*/
@Override
public List selectProductCategoryList() {
//查询父类
List list = productCategoryMapper.selectLevelList(0);
if(list != null && !list.isEmpty()){
List modelList = ProductCategoryModel.convertFromBoToModel(list);
for(ProductCategoryModel model:modelList){
model.setChildren(findChildCategory(model.getCategoryId()));
}
return modelList;
}
return null;
}
/**
* 递归算法,根据父节点算出子类
* @return
*/
private List findChildCategory(Integer categoryId){
//根据父类id查询子节点
List boList = productCategoryMapper.selectParentList(categoryId);
//中间bo转换成model
List【商品分类无限层级递归】 modelList = ProductCategoryModel.convertFromBoToModel(boList);
if(modelList != null && !modelList.isEmpty()) {
for (ProductCategoryModel model : modelList) {
model.setChildren(findChildCategory(model.getCategoryId()));
}
}
return modelList;
}
推荐阅读
- jQuery插件
- 07/22【晨读感悟】保持好奇心,生活才有无限可能
- 星际无限|星际无限 | 官方推出Filecoin MinerX奖学金计划,吸引中小型Filecoin矿工
- 1.2序列通用操作
- 生活不就是这样吗(一边努力着一边辛苦着,想到为的人还无限幸福着)
- 致无限美好的2019
- 茶叶分类(五)(茶叶分为六大类,做茶的人只分两类)
- 鹊桥仙|鹊桥仙 诗思无限
- django开发电子商城(二十二)购物车商品的所有者身份转换
- 坎