根据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     }  

以上就是核心代码。。。。。

posted @ 2019-02-15 10:45  受访市民廖先生  阅读(2476)  评论(0编辑  收藏  举报