最近项目中遇到的问题做下总结
递归查询 : (无限级联)树的最末尾端的code反查上级所有节点 ##
public List<Map<String, Object>> getCategoryByImtemcode(String itemcode) throws Exception {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
getCategList(itemcode, list);
return list;
}
//私有方法
private List<Map<String, Object>> getCategList(String itemCode, List<Map<String, Object>> cateList)
throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
JrcommCategroyDict jc = jrcommCategroyDictDao.selectCategoryDictByImtemcode(itemCode);
//根节点返回递归结束
if (!jc.getItemCode().equals("00")) {
map.put("itemName", jc.getItemName());
map.put("itemCode", jc.getItemCode());
map.put("level", jc.getLevel());
map.put("dimension", jc.getDimension());
cateList.add(map);
return getCategList(jc.getPcode(), cateList);
}
return cateList;
}