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<VoteTree> getFirstLevel(Long minLevel);
	
	//根据pid查询所有相对应的子集
	List<VoteTree> getNextSubSet(VoteTree tvote);
	
	//递归查询
	List<VoteTree> 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;
	}

	
}


原文地址:https://www.cnblogs.com/a1111/p/7459715.html