`
jie_bosshr
  • 浏览: 141961 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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;
	}
}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    树父节点递归获取树子节点

    在Java中,通过递归方法我们可以轻松地实现从父节点获取所有子节点的功能,这对于构建树形结构的应用程序(如文件系统、组织结构或菜单系统)非常有用。理解并掌握递归是每个程序员必备的技能之一。

    根据父节点找所有子节点数据.zip

    本案例提供了一个Java工具类,用于根据父节点递归地查找并返回所有子节点的数据。 首先,我们要理解什么是树查询。在树形结构中,每个节点可能有零个或多个子节点,而根节点没有父节点。树查询通常涉及遍历这些节点...

    根据当前节点获取所有父节点信息

    根据当前节点获取所有父节点信息(18代)SQL根据当前节点递归遍历获取所有父节点信息,短短的SQL可以解决复杂的问题

    根据子节点的金额向上汇总所有父节点的金额

    标题中的“根据子节点的金额向上汇总所有父节点的金额”是一个典型的树形结构数据处理问题,常见于组织架构、账目统计或者数据库层次结构的数据分析。这个问题涉及到的知识点包括但不限于: 1. **树形结构**:在...

    SQL sever 中递归查找子节点和父节点

    SQL Server 中递归查找子节点和父节点 在关系数据库管理系统中,特别是在 SQL Server 中,递归查找子节点和父节点是一种常见的操作。这种操作可以应用于树形结构的数据存储和查询中,例如组织结构、目录结构、分类...

    Java递归算法构造JSON树形结构

    我们可以通过遍历所有的节点,判断当前节点是否有父节点,如果没有父节点,那么当前节点就是根节点。 getChildNodes 方法用于获取父节点下所有的子节点。我们可以通过遍历所有的节点,判断当前节点是否是父节点的子...

    C# TreeView递归添加子节点

    在方法中,创建一个新的`TreeNode`,设置其文本为文件夹或文件的名称,然后将其添加到父节点下。对于目录,还需要调用自身,传入子目录的`FileSystemItem`和新创建的`TreeNode`。 ```csharp private void ...

    根据子节点查找所有父节点

    在IT领域,尤其是在软件开发中,经常会遇到需要根据某个子节点查找其所有父节点的情况。这通常发生在数据结构和树形结构的操作中,比如在文件系统、DOM(文档对象模型)解析、数据库关系模型或者图算法中。这篇博客...

    java 实现动态改变树形结构中主节点的名称

    根据提供的文件信息,我们可以分析并总结出以下关于“Java实现动态改变树形结构中主节点的名称”的相关知识点: ### 一、理解树形结构 在计算机科学中,树形结构是一种常用的数据组织形式,它将数据组织成类似于树...

    删除数据库表中的父节点以及其子节点

    本文将深入探讨如何使用存储过程来实现这一功能,特别关注如何删除父节点及其所有子节点。首先,我们需要理解数据库中的“父节点”和“子节点”的概念。 在层次数据模型中,每个节点可以有一个或多个子节点,而一...

    java递归无限层级树

    这个方法接受当前的层级和父节点,然后根据业务逻辑决定是否创建新的子节点。例如,如果一个节点在某个条件下应有子节点,我们就在其`children`集合中添加新的`TreeNode`对象,并递归调用同一个方法,将层级加一。 ...

    Java递归读取文件例子_动力节点Java学院整理

    Java递归读取文件例子 Java递归列出目录下全部文件 /** * 列出指定目录的全部内容 * */

    javascript获取指定节点父节点、子节点的方法

    JavaScript 获取指定节点父节点、子节点的方法 在实际的开发中,我们经常需要获取页面中某个 HTML 元素,动态更新该元素的样式、内容属性等。那么如何获取要更新的这些元素呢?用 JavaScript 获取这些节点的方法有...

    JS实现treeview中选中父节点,子节点也选中,如果子节点全部选中,自动选中父节点

    //JS实现treeview中选中父节点,子节点也选中,如果子节点全部选中,自动选中父节点 //仅支持TreeView //调用方法 TreeView.Attributes.Add("onclick", "OnTreeNodeChecked()");

    Java递归遍历XML所有元素

    Java 递归遍历 XML 所有元素是指使用 Java 语言来遍历 XML 文件中的所有元素节点,并将其值取出来。这种操作是 XML 解析的基础,能够为更复杂的解析工作奠定基础。 在 Java 中,通常使用 DOM4j 库来解析 XML 文件。...

    JAVA实现zookeeper节点批量删除工具类.rar

    在Java编程环境中,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。本资源提供了一个JAVA实现的Zookeeper节点...

    js 递归json树实现根据子id查父id的方法分析

    最近做了一个类似用js实现思维导图的功能,作为思维导图,一定会有树状结构的数据产生,在操作里面的节点时会经常需要查找节点 的父节点及父节点。 对于未知层级的树状数据,用for循环是无法实现的,因为不知道要...

    QTreeView递归实现展开或者闭合某个节点下面的所有子节点

    QTreeView递归实现展开或者闭合某个节点下面的所有子节点 不是一键展开所有,是展开你要操作的节点下面的所有子节点!

    MySQL递归查询树状表的子节点、父节点具体实现

    它使用`sParentTemp`存储当前遍历到的父节点ID,而`sParentList`积累所有父节点ID的字符串。开始时,`sParentTemp`被初始化为根节点ID。循环过程中,它查找那些ID存在于`sParentTemp`中的记录,将这些记录的`...

    使用递归删除树形结构的所有子节点(java和mysql实现)

    在树形结构中删除某个父节点时,需要递归删除其所有子节点,以避免遗留冗余数据。下面将为大家介绍使用 Java 和 MySQL 实现递归删除树形结构的所有子节点的方法。 一、业务场景 在树形结构中,删除某个父节点时,...

Global site tag (gtag.js) - Google Analytics