java递归根据节点configId得到节点configId的所有父节点名称

思路:
定义一个方法getParentName参数为int类型的configId,返回类型为String类型.
在方法getParentName内部进行如下操作:
1 根据当前节点configId查询数据库,得到一条记录,存入实体类中。
2 判断存入的实体类是否为空,如果不为空,定义变量configName用来存储当前节点的名称再跟","用于分割,内部调用getParentName(参数为刚才存入实体类的父节点parentId),定义变量returnConfigName用于存储方法getParentName的返回值,然后将configName和returnConfigName进行拼接返回.
如果存入的实体类为空,则返回空.
方法用例:

/**
* 递归得到当前节点的所有父节点
* @param configId 当前节点
* @return 所有父节点
* @throws Exception 抛出的异常
*/
public String getParentName(int configId)throws Exception{
//和数据库交互,得到当前节点记录
PatrolConfigVO patrolConfigEntity = patrolConfigDao.getPatrolConfigByConfigId(configId);
if(patrolConfigEntity != null){
String configName = patrolConfigEntity.getConfigName()+"mmc";
//参数patrolConfigEntity.getConfigParentId()表示当前节点的父节点ID
String returnConfigName = getParentName(patrolConfigEntity.getConfigParentId());
return returnConfigName+configName;
}else{
return "";
}
}

PatrolConfigVO实体类:

import java.io.Serializable;

/**
* 巡检配置对象类
* @author zhoujie
* @version 0.1 2013-8-19 8:54
*/
public class PatrolConfigVO implements Serializable {
private static final long serialVersionUID = 1L ;

/**
* 巡检配置编号
*/
private int configId;

/**
* 信号编号
*/
private int signalNr;

/**
* 巡检配置名称
*/
private String configName;

/**
* 巡检配置类型(0:有子项,1:单选,2:复选,3:文本框,4:文本域,5:上传照片)
*/
private int configType;

/**
* 级别
*/
private int level;

/**
* 巡检父配置编号
*/
private int configParentId;

/**
* 巡检类型(1:日常巡检,2:月度巡检,3:季度巡检,4:年度巡检)
*/
private int patrolType;

/**
* 设备类别编号
*/
private int zequipId;

/**
* 选项
*/
private String options;

/**
* 是否显示备注(0:不显示,1:显示)
*/
private int isRemark;

/**
* 是否选中(0:不选中,1:选中)
*/
private int isChoosed;

/**
* 英文名
*/
private String englishName;

/**
* 备注(表头信息、设备信息、设备运行信息、附件)
*/
private String patrolFormType;


/**
* 选项名字集合
*/
private String[] optionNames;


/**
* 构造器
*/
public PatrolConfigVO(){
configId = 0;
signalNr = 0;
configName = "";
configType = 0;
level = 0;
configParentId = 0;
patrolType = 0;
zequipId = 0;
options = "";
isRemark = 0;
isChoosed = 0;
englishName = "";
patrolFormType = "";
}

/**
* 获取巡检配置编号
* @return
*/
public int getConfigId() {
return configId;
}

/**
* 设置巡检配置编号
* @param configId 巡检配置编号
*/
public void setConfigId(int configId) {
this.configId = configId;
}

/**
* 获取信号编号
* @return 信号编号
*/
public int getSignalNr() {
return signalNr;
}

/**
* 设置信号编号
* @param signalNr 信号编号
*/
public void setSignalNr(int signalNr) {
this.signalNr = signalNr;
}

/**
* 获取巡检配置名称
* @return 巡检配置名称
*/
public String getConfigName() {
return configName;
}

/**
* 设置巡检配置名称
* @param configName 巡检配置名称
*/
public void setConfigName(String configName) {
this.configName = configName;
}

/**
* 获取巡检配置类型
* @return 巡检配置类型
*/
public int getConfigType() {
return configType;
}

/**
* 设置巡检配置类型
* @param configType 巡检配置类型
*/
public void setConfigType(int configType) {
this.configType = configType;
}

/**
* 获取级别
* @return 级别
*/
public int getLevel() {
return level;
}

/**
* 设置级别
* @param level 级别
*/
public void setLevel(int level) {
this.level = level;
}

/**
* 获取巡检父配置编号
* @return 巡检父配置编号
*/
public int getConfigParentId() {
return configParentId;
}

/**
* 设置巡检父配置编号
* @param configParentId 巡检父配置编号
*/
public void setConfigParentId(int configParentId) {
this.configParentId = configParentId;
}

/**
* 获取巡检类型
* @return 巡检类型
*/
public int getPatrolType() {
return patrolType;
}

/**
* 设置巡检类型
* @param patrolType 巡检类型
*/
public void setPatrolType(int patrolType) {
this.patrolType = patrolType;
}

/**
* 获取设备类别编号
* @return 设备类别编号
*/
public int getZequipId() {
return zequipId;
}

/**
* 设置设备类别编号
* @param zequipId 设备类别编号
*/
public void setZequipId(int zequipId) {
this.zequipId = zequipId;
}

/**
* 获取选项
* @return 选项
*/
public String getOptions() {
return options;
}

/**
* 设置选项
* @param options 选项
*/
public void setOptions(String options) {
this.options = options;
}

/**
* 获取是否显示备注
* @return 是否显示配置
*/
public int getIsRemark() {
return isRemark;
}

/**
* 设置是否显示配置
* @param isRemark 是否显示配置
*/
public void setIsRemark(int isRemark) {
this.isRemark = isRemark;
}

/**
* 获取是否选中
* @return 是否选中
*/
public int getIsChoosed() {
return isChoosed;
}

/**
* 设置是否选中
* @param isChoosed
*/
public void setIsChoosed(int isChoosed) {
this.isChoosed = isChoosed;
}

/**
* 获取英文名
* @return 英文名
*/
public String getEnglishName() {
return englishName;
}

/**
* 设置英文名
* @param englishName 英文名
*/
public void setEnglishName(String englishName) {
this.englishName = englishName;
}

/**
* 获取备注
* @return 备注
*/
public String getPatrolFormType() {
return patrolFormType;
}

/**
* 设置备注
* @param patrolFormType 备注
*/
public void setPatrolFormType(String patrolFormType) {
this.patrolFormType = patrolFormType;
}

public String[] getOptionNames() {
return optionNames;
}

public void setOptionNames(String[] optionNames) {
this.optionNames = optionNames;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值