c12atreedao.java

来自「使用spring ,hibernate 框架的稽查管理系统」· Java 代码 · 共 127 行

JAVA
127
字号
package com.je.ims.dao;

import java.util.ArrayList;
import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.je.ims.hibernate.*;
public class C12ATreeDAO extends HibernateDaoSupport {
	
	//删除所有记录,做实验用
	public void Delete(){
		getHibernateTemplate().deleteAll(getHibernateTemplate().loadAll(Atree.class));
	}
	
	public C12ATreeDAO() {
		super();
	}
	
	//	新增
	public void AddAtree(Atree atree){
		getHibernateTemplate().save(atree);
	}
	
	// 更新
	public void UpdateAtree(Atree atree){
		getHibernateTemplate().update(atree);
	}
	
	//根据节点id,year寻找它同层所有子节点 
	public List GetNodeByParentSameLvl(String parentId,Long year){
		if (!parentId.equals("root")){
			Atree atree = this.GetByNodeId(parentId,year);
			Long lvl = atree.getLvl();
			List l = getHibernateTemplate().find("from Atree where parentId='"+parentId+"' and id.year="+year+" and lvl="+lvl);
			return l;
		}
	//	System.out.print("helel");
		return null;
	}
	
	//根据节点id,year寻找它下一层所有子节点 
	public List GetNodeByParentNextLvl(String parentId,Long year){
		Long lvl;
		if(!parentId.equals("root"))
		{
			Atree atree = this.GetByNodeId(parentId,year);
			lvl = atree.getLvl();
			lvl = new Long(lvl.longValue()+1);
		}
		else
			lvl = new Long(1);
		List l = getHibernateTemplate().find("from Atree where parentId='"+parentId+"' and id.year="+year+" and lvl="+lvl);
		return l;
		
	}
	// 根据节点id,year寻找它所有子节点 
	public List GetNodeByParent(String parentId,Long year){
		
		List l = getHibernateTemplate().find("from Atree where parentId='"+parentId+"' and id.year="+year);
		return l;
	}
	
	// 判断一个节点时候有子节点,如果有返回true,否则返回false
	public boolean IsNode(Atree atree){
		List l = getHibernateTemplate().find("from Atree where parentId='"+atree.getId().getNodeId()+"' and id.year="+atree.getId().getYear());
		if (l.size()>0)
		return true;
		return false;
	}
	
	// 根据父节点Id来选出所有子节点信息
	public List GetAllByParent(String parentId,Long year){
	
		Atree atree = new Atree();
		List l = this.GetNodeByParent(parentId,year);
		int n = l.size();
		List ltemp;
		if (l.size()>0){
			for (int i=0;i<n;i++){
				atree = (Atree)l.get(i);
				ltemp = this.GetAllByParent(atree.getId().getNodeId(),year);
				l.addAll(ltemp);
			}
		}
		return l;
	}
	
	//	 根据父节点Id来选出所有子节点信息
	public List GetAllByParent(String[] parentId,Long year){
	
		List l = new ArrayList();
		List ltemp;
		for (int i=0;i<parentId.length;i++){
			l.add(this.GetByNodeId(parentId[i],year));
			ltemp = this.GetAllByParent(parentId[i],year);
			l.addAll(ltemp);
			
		}
		return l; 
		
	}
	
	//根据id,year返回Atree对象
	public Atree GetByNodeId(String id,Long year){
		
		List l = getHibernateTemplate().find("from Atree where id.nodeId='"+id+"' and id.year="+year);
		if(l.size()!=1)
			return null;
		return (Atree)l.get(0);
	}
	
	//删除节点,同时要删除其所有子节点
	public void DeleteNode(String id,Long year){
		
		Atree temp;
		List l = GetNodeByParent(id,year);
		System.out.println(l.size());
		for (int i =0;i<l.size();i++){
			temp = (Atree)l.get(i);
			DeleteNode(temp.getId().getNodeId(),year);
		}
		
		getHibernateTemplate().delete(GetByNodeId(id,year));
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?