根据ID和parentID利用Java递归获取全路径名称
如下图所示,本文参考资源:https://jie-bosshr.iteye.com/blog/1996607 感谢大佬的无私奉献。
思路:
定义一个方法getParentName参数为int类型的configId,返回类型为String类型.
在方法getParentName内部进行如下操作:
1 根据当前节点configId查询数据库,得到一条记录,存入实体类中。
2 判断存入的实体类是否为空,如果不为空,定义变量configName用来存储当前节点的名称再跟","用于分割,内部调用getParentName(参数为刚才存入实体类的父节点parentId),定义变量returnConfigName用于存储方法getParentName的返回值,然后将configName和returnConfigName进行拼接返回.
如果存入的实体类为空,则返回空.
方法用例:
1 /** 2 * 递归得到当前节点的所有父节点 3 * @param configId 当前节点 4 * @return 所有父节点 5 * @throws Exception 抛出的异常 6 */ 7 public String getParentName(int configId)throws Exception{ 8 //和数据库交互,得到当前节点记录 9 PatrolConfigVO patrolConfigEntity = patrolConfigDao.getPatrolConfigByConfigId(configId); 10 if(patrolConfigEntity != null){ 11 String configName = patrolConfigEntity.getConfigName()+"mmc"; 12 //参数patrolConfigEntity.getConfigParentId()表示当前节点的父节点ID 13 String returnConfigName = getParentName(patrolConfigEntity.getConfigParentId()); 14 return returnConfigName+configName; 15 }else{ 16 return ""; 17 } 18 }
以上就是核心代码。。。。。