如下圖所示,本文參考資源: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 }
以上就是核心代碼。。。。。