1、我们应该有这样的应用场景,在一些数据量不大的情况下。我们需要根据中间某级分类,查找最终节点绑定的商品。此时,我们应该递归找出最终的节点。
2、数据库
3、//方法入口,在实际应用中,我们应该传递中间节点的主键
public void getChild() {
Long id = Long.valueOf(1);
ArrayList lastIdList = new ArrayList();
getLastChild(id, lastIdList);
}
//递归入口
private ArrayList getLastChild(Long id, ArrayList lastIdList) {
//查找是否以该id为父id的数据
List<TbItemCatModel> tbItemCatModels = tbItemCatMapper.selectByParentId(id);
for (int i = 0; i < tbItemCatModels.size(); i++) {
List<TbItemCatModel> tbItemCatModels1 = tbItemCatMapper.selectByParentId(tbItemCatModels.get(i).getId());
if (tbItemCatModels1.size() > 0) {
getLastChild(tbItemCatModels.get(i).getId(), lastIdList);
continue;
}
lastIdList.add(tbItemCatModels.get(i));
}
return lastIdList;
}