java 树形菜单遍历_java实现遍历树形菜单方法——Dao层

Dao层接口:

/**

* @Title: IVoteTreeDao.java

* @Package org.dao

* @Description: TODO该方法的主要作用:

* @author A18ccms A18ccms_gmail_com

* @date 2017-5-6 下午10:38:47

* @version V1.0

*/

package org.dao;

import java.util.List;

import org.entity.VoteTree;

/**

*

* 项目名称:testTree

* 类名称:IVoteTreeDao

* 类描述:

* 创建人:Mu Xiongxiong

* 创建时间:2017-5-6 下午10:38:47

* 修改人:Mu Xiongxiong

* 修改时间:2017-5-6 下午10:38:47

* 修改备注:

* @version

*

*/

public interface IVoteTreeDao {

//查询最小的level

Long minId();

//根据最小的查询所有一级菜单

List getFirstLevel(Long minLevel);

//根据pid查询所有相对应的子集

List getNextSubSet(VoteTree tvote);

//递归查询

List getDeeptLevel(VoteTree tvote);

}

HibernateBaseDao实现:

/**

* @Title: BaseHibernateDao.java

* @Package org.dao

* @Description: TODO该方法的主要作用:

* @author A18ccms A18ccms_gmail_com

* @date 2017-5-6 下午1:50:18

* @version V1.0

*/

package org.dao;

import org.hibernate.Session;

import org.util.HibernateUtil;

/**

*

* 项目名称:votedemo

* 类名称:BaseHibernateDao

* 类描述: hibernate的工具类BaseDao

* 创建人:Mu Xiongxiong

* 创建时间:2017-5-6 下午1:50:18

* 修改人:Mu Xiongxiong

* 修改时间:2017-5-6 下午1:50:18

* 修改备注:

* @version

*

*/

public class BaseHibernateDao {

/**

*

* @Title: getSession

* @Description: 该方法的主要作用:打开session

* @param @return 设定文件

* @return 返回类型:Session

* @throws

*/

public Session getSession(){

return HibernateUtil.getSession();

}

/**

*

* @Title: closeSession

* @Description: 该方法的主要作用:关闭session

* @param 设定文件

* @return 返回类型:void

* @throws

*/

public void closeSession (){

HibernateUtil.closeSession();

}

}

Dao层实现类:

package org.entity;

import java.util.ArrayList;

import java.util.List;

/**

*

*

* 项目名称:testTree

* 类名称:VoteTree

* 类描述: 树形菜单实体类

* 创建人:Mu Xiongxiong

* 创建时间:2017-5-23 下午6:18:29

* 修改人:Mu Xiongxiong

* 修改时间:2017-5-23 下午6:18:29

* 修改备注:

* @version

*

*/

public class VoteTree implements java.io.Serializable {

// Fields

/**

* @Fields id : 编号

*/

private Long id;

/**

* @Fields text : 文字

*/

private String text;

/**

* @Fields pid :父目录的id

*/

private Long pid;

/**

* @Fields levels : 所在级别

*/

private Long levels;

/**

* @Fields children : 子节点集合

*/

private List children = new ArrayList();

// Constructors

/** minimal constructor */

public VoteTree(Long id, String text) {

this.id = id;

this.text = text;

}

/** full constructor */

public VoteTree(Long id, String text, Long pid) {

this.id = id;

this.text = text;

this.pid = pid;

}

// Property accessors

public Long getId() {

return this.id;

}

public void setId(Long id) {

this.id = id;

}

public String getText() {

return this.text;

}

public void setText(String text) {

this.text = text;

}

public Long getPid() {

return this.pid;

}

public void setPid(Long pid) {

this.pid = pid;

}

public List getChildren() {

return children;

}

public void setChildren(List children) {

this.children = children;

}

public VoteTree(Long id, String text, Long pid, List children) {

super();

this.id = id;

this.text = text;

this.pid = pid;

this.children = children;

}

public VoteTree() {

super();

}

public Long getLevels() {

return levels;

}

public void setLevels(Long levels) {

this.levels = levels;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java实现遍历树形菜单可以使用递归的方式来操作。 首先,我们需要定义一个树形菜单的节点类,包含节点的名称和它的子节点列表。例如: ```java class TreeNode { private String name; private List<TreeNode> children; public TreeNode(String name) { this.name = name; this.children = new ArrayList<>(); } public String getName() { return name; } public void addChild(TreeNode child) { children.add(child); } public List<TreeNode> getChildren() { return children; } } ``` 然后,我们可以定义一个方法遍历这个树形菜单: ```java public void traverseMenu(TreeNode menu) { if (menu == null) return; // 打印当前节点的名称 System.out.println(menu.getName()); // 遍历子节点 List<TreeNode> children = menu.getChildren(); for (TreeNode child : children) { traverseMenu(child); } } ``` 这个方法首先会打印当前节点的名称,然后遍历它的子节点,对每个子节点递归调用这个方法实现对整个树形菜单遍历。 使用示例: ```java public static void main(String[] args) { TreeNode root = new TreeNode("菜单"); TreeNode node1 = new TreeNode("节点1"); TreeNode node2 = new TreeNode("节点2"); TreeNode node3 = new TreeNode("节点3"); TreeNode node11 = new TreeNode("节点11"); TreeNode node12 = new TreeNode("节点12"); node1.addChild(node11); node1.addChild(node12); root.addChild(node1); root.addChild(node2); root.addChild(node3); traverseMenu(root); } ``` 输出结果: ``` 菜单 节点1 节点11 节点12 节点2 节点3 ``` 这样,我们就成功地使用Java实现遍历树形菜单的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值