递归查询该部门下所有子部门

 public class AddressServiceImpl implements AddressService {
//定义全局变量idList,查出该部门下的子部门后,放进去
private List<Long> idList=new ArrayList(); @Autowired private AddressMapper addressMapper; @Override public List<Address> selectInParent(Long id) { List<Long> ids=getIds(id); ids.add(id); List<Address> addressList=addressMapper.selectInParent(ids,Constants.ABLE_CONFIG.DEFAULT_ABLE);
//***用完后清空该集合,不然再次查询时,之前的查询的部门也在里面 idList.clear();
return addressList; } //递归方法,私有的 private List<Long> getIds(Long id){ List<Address> list=addressMapper.selectByParent(id,Constants.ABLE_CONFIG.DEFAULT_ABLE); for (int i=0;i<list.size();i++){ idList.add(list.get(i).getId()); getIds(list.get(i).getId()); } return idList; } }

 

posted @ 2017-09-25 12:06  inspire0x001  阅读(4483)  评论(0编辑  收藏  举报