Flex tree的开发 后台数据连接

  • import javax.persistence.JoinColumn; 
  • import javax.persistence.ManyToOne; 
  • import javax.persistence.OneToMany; 
  • import javax.persistence.Table; 
  •  
  • /**
  • * TCategory entity. @author MyEclipse Persistence Tools
  • */ 
  • @Entity 
  • @Table(name = "t_category", catalog = "test"
  • publicclass TCategory implements java.io.Serializable { 
  •  
  •     // Fields 
  •  
  •     @Override 
  •     public String toString() { 
  •         return"[ cateId=" + cateId + ", name=" + name + "]"
  •     } 
  •  
  •     private Integer cateId; 
  •     private TCategory TCategory; 
  •     private String name; 
  •     private Set<TCategory> TCategories = new HashSet<TCategory>(0); 
  •  
  •     // Constructors 
  •  
  •     /** default constructor */ 
  •     public TCategory() { 
  •     } 
  •  
  •     /** full constructor */ 
  •     public TCategory(TCategory TCategory, String name, 
  •             Set<TCategory> TCategories) { 
  •         this.TCategory = TCategory; 
  •         this.name = name; 
  •         this.TCategories = TCategories; 
  •     } 
  •  
  •     // Property accessors 
  •     @Id 
  •     @GeneratedValue 
  •     @Column(name = "cate_id", unique = true, nullable = false
  •     public Integer getCateId() { 
  •         returnthis.cateId; 
  •     } 
  •  
  •     publicvoid setCateId(Integer cateId) { 
  •         this.cateId = cateId; 
  •     } 
  •  
  •     @ManyToOne(fetch = FetchType.LAZY) 
  •     @JoinColumn(name = "parent_id"
  •     public TCategory getTCategory() { 
  •         returnthis.TCategory; 
  •     } 
  •  
  •     publicvoid setTCategory(TCategory TCategory) { 
  •         this.TCategory = TCategory; 
  •     } 
  •  
  •     @Column(name = "name"
  •     public String getName() { 
  •         returnthis.name; 
  •     } 
  •  
  •     publicvoid setName(String name) { 
  •         this.name = name; 
  •     } 
  •  
  •     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "TCategory"
  •     public Set<TCategory> getTCategories() { 
  •         returnthis.TCategories; 
  •     } 
  •  
  •     publicvoid setTCategories(Set<TCategory> TCategories) { 
  •         this.TCategories = TCategories; 
  •     } 
  •      
  •      
  •                                        
  • }</span> 
package com.jadetrust.dao;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * TCategory entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "t_category", catalog = "test")
public class TCategory implements java.io.Serializable {

	// Fields

	@Override
	public String toString() {
		return "[ cateId=" + cateId + ", name=" + name + "]";
	}

	private Integer cateId;
	private TCategory TCategory;
	private String name;
	private Set<TCategory> TCategories = new HashSet<TCategory>(0);

	// Constructors

	/** default constructor */
	public TCategory() {
	}

	/** full constructor */
	public TCategory(TCategory TCategory, String name,
			Set<TCategory> TCategories) {
		this.TCategory = TCategory;
		this.name = name;
		this.TCategories = TCategories;
	}

	// Property accessors
	@Id
	@GeneratedValue
	@Column(name = "cate_id", unique = true, nullable = false)
	public Integer getCateId() {
		return this.cateId;
	}

	public void setCateId(Integer cateId) {
		this.cateId = cateId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "parent_id")
	public TCategory getTCategory() {
		return this.TCategory;
	}

	public void setTCategory(TCategory TCategory) {
		this.TCategory = TCategory;
	}

	@Column(name = "name")
	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "TCategory")
	public Set<TCategory> getTCategories() {
		return this.TCategories;
	}

	public void setTCategories(Set<TCategory> TCategories) {
		this.TCategories = TCategories;
	}
	
	
	                                  
}

 

第四:具体数据库操作类UserService

Java代码 复制代码 收藏代码
  1. <span style="font-size: medium;">package com.jadetrust.service.impl; 
  2.  
  3. import java.util.ArrayList; 
  4. import java.util.HashMap; 
  5. import java.util.List; 
  6. import java.util.Map; 
  7. import java.util.Set; 
  8.  
  9. import org.hibernate.Session; 
  10. import org.hibernate.Transaction; 
  11.  
  12. import com.jadetrust.common.HibernateSessionFactory; 
  13. import com.jadetrust.dao.TCategory; 
  14.  
  15. publicclass UserService { 
  16.  
  17.     publicvoid add(TCategory cate){ 
  18.         Session session=HibernateSessionFactory.getSession(); 
  19.         Transaction tc=session.beginTransaction(); 
  20.         session.save(cate); 
  21.         tc.commit(); 
  22.         session.close(); 
  23.          
  24.     } 
  25.     publicvoid delete(TCategory cate){ 
  26.         Session session=HibernateSessionFactory.getSession(); 
  27.         Transaction tc=session.beginTransaction(); 
  28.         session.delete(cate); 
  29.         tc.commit(); 
  30.         session.close(); 
  31.     } 
  32.     publicvoid update(TCategory cate){ 
  33.         Session session=HibernateSessionFactory.getSession(); 
  34.         Transaction tc=session.beginTransaction(); 
  35.         session.merge(cate); 
  36.         tc.commit(); 
  37.         session.close(); 
  38.     } 
  39.     public TCategory findById(String id){ 
  40.         String hql = "from TCategory where cateId=:id"
  41.         return (TCategory)HibernateSessionFactory.getSession().createQuery(hql).setString("id", id).uniqueResult(); 
  42.     } 
  43.      
  44.     public List<TCategory> findChildCategories(String id) { 
  45.         if(id.equals("cate_root")||id==null||id.equals(" ")){ 
  46.              return findCategoriesTop(); 
  47.         }else
  48.             return HibernateSessionFactory.getSession(). 
  49.             createQuery("from TCategory cate where cate.TCategory.cateId=:id").setString("id", id).list(); 
  50.         } 
  51.     } 
  52.     public List<TCategory> findCategoriesTop() { 
  53.         System.out.println("查询顶级父目录................."); 
  54.         String hql = "select distinct cate,childs from TCategory cate left join fetch cate.TCategories childs where cate.TCategory.cateId is null"
  55.         return HibernateSessionFactory.getSession().createQuery(hql).list(); 
  56.     } 
  57.     public List<TCategory> findCategoriesAll() { 
  58.         System.out.println("查询顶级父目录................."); 
  59.         String hql = "from TCategory"
  60.         return HibernateSessionFactory.getSession().createQuery(hql).list(); 
  61.     } 
  62.     public List<Map<String,String>> findNameById(String id){ 
  63.         List<Map<String,String>> names=new ArrayList<Map<String,String>>(); 
  64.          
  65.         UserService sf=new UserService(); 
  66.         Set<TCategory> cates=sf.findById(id).getTCategories(); 
  67.         for(TCategory cate:cates){ 
  68.             Map<String,String> maps=new HashMap<String,String>(); 
  69.             maps.put("CATALOGSID", cate.getCateId().toString()); 
  70.             maps.put("CATALOGNAME", cate.getName()); 
  71.             names.add(maps); 
  72.         } 
  73.         return names; 
  74.          
  75.     } 
  76.      
  77.     public Integer findLastId(){ 
  78.         String hql="select max(cateId) from TCategory"
  79.         return (Integer)HibernateSessionFactory.getSession().createQuery(hql).uniqueResult(); 
  80.     } 
  81. }</span> 
package com.jadetrust.service.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.hibernate.Session;
import org.hibernate.Transaction;

import com.jadetrust.common.HibernateSessionFactory;
import com.jadetrust.dao.TCategory;

public class UserService {

	public void add(TCategory cate){
		Session session=HibernateSessionFactory.getSession();
		Transaction tc=session.beginTransaction();
		session.save(cate);
		tc.commit();
		session.close();
		
	}
	public void delete(TCategory cate){
		Session session=HibernateSessionFactory.getSession();
		Transaction tc=session.beginTransaction();
		session.delete(cate);
		tc.commit();
		session.close();
	}
	public void update(TCategory cate){
		Session session=HibernateSessionFactory.getSession();
		Transaction tc=session.beginTransaction();
		session.merge(cate);
		tc.commit();
		session.close();
	}
	public TCategory findById(String id){
		String hql = "from TCategory where cateId=:id";
		return (TCategory)HibernateSessionFactory.getSession().createQuery(hql).setString("id", id).uniqueResult();
	}
	
	public List<TCategory> findChildCategories(String id) {
		if(id.equals("cate_root")||id==null||id.equals(" ")){
		     return findCategoriesTop();
		}else{
			return HibernateSessionFactory.getSession().
			createQuery("from TCategory cate where cate.TCategory.cateId=:id").setString("id", id).list();
		}
	}
	public List<TCategory> findCategoriesTop() {
		System.out.println("查询顶级父目录.................");
		String hql = "select distinct cate,childs from TCategory cate left join fetch cate.TCategories childs where cate.TCategory.cateId is null";
		return HibernateSessionFactory.getSession().createQuery(hql).list();
	}
	public List<TCategory> findCategoriesAll() {
		System.out.println("查询顶级父目录.................");
		String hql = "from TCategory";
		return HibernateSessionFactory.getSession().createQuery(hql).list();
	}
	public List<Map<String,String>> findNameById(String id){
		List<Map<String,String>> names=new ArrayList<Map<String,String>>();
		
		UserService sf=new UserService();
		Set<TCategory> cates=sf.findById(id).getTCategories();
		for(TCategory cate:cates){
			Map<String,String> maps=new HashMap<String,String>();
			maps.put("CATALOGSID", cate.getCateId().toString());
			maps.put("CATALOGNAME", cate.getName());
			names.add(maps);
		}
		return names;
		
	}
	
	public Integer findLastId(){
		String hql="select max(cateId) from TCategory";
		return (Integer)HibernateSessionFactory.getSession().createQuery(hql).uniqueResult();
	}
}

 

这个示例只用了Hibernate,至于这个HibernateSessionFactory,它是利用MyEclipse反转数据库自动生成的,如果不知道可以参考我之前关于数据库反转的文章

 

相关视图

 

这个是选择节点,输入插入内容,点击选择节点按钮

 

 

posted @ 2014-03-26 20:00  regalys168  阅读(214)  评论(0编辑  收藏  举报