Package org.brain.dbo

Source Code of org.brain.dbo.DBOperate

package org.brain.dbo;

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

import org.brain.pojos.Commentinfo;
import org.brain.pojos.Document;
import org.brain.pojos.Documenttype;
import org.brain.pojos.Messagetable;
import org.brain.pojos.Treemenu;
import org.brain.util.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Transaction;



public class DBOperate {
  static Session session = HibernateUtil.getSession();
 
 
  //获取对象的所有数据
  public static List search(String keyword){
    String sql = "from "+keyword+"";
    Query query = session.createQuery(sql);
    List list =query.list();
    if(list.size()==0)
      return new ArrayList();
    return list;
  }
 
  //根据用户名和父节点, 获取Treemenu
  public static List<Treemenu> getTreeMenu(String userName,int fatherNode)
  {
    List<Treemenu> list = new ArrayList();
    String sql = "from Treemenu where username=? and fathernode=?";
    Query query = session.createQuery(sql);
    query.setString(0, userName);
    query.setInteger(1, fatherNode);
    list = query.list();
    if(list.size()==0)
      list = new ArrayList();
    return list;
   
  }
 
  //根据nodeId号来获取TreeMenu的某个对象
  public static Treemenu getTreeMenu(int nodeId)
  {
    String sql ="from Treemenu where nodeId ="+nodeId;
    Query query = session.createQuery(sql);
    List list = query.list();
    return (Treemenu)list.get(0);
   
  }
 
 
  //根据Documenttyped的typeid获取documenttype对象
  public static Documenttype getDocumenttype(int typeId)
  {
    String sql ="from Documenttype where typeId ="+typeId;
    Query query = session.createQuery(sql);
    List list = query.list();
    return (Documenttype)list.get(0);
  }
 
  // 根据评论的编号。来返回一个评论对象
  public static Commentinfo getCommentinfo(int commentId)
  {
    String sql = "from Commentinfo where commentId =?";
    Query query = session.createQuery(sql);
    query.setInteger(0, commentId);
    List list = query.list();
    return (Commentinfo)list.get(0);
  }
  // 根据文档的编号。来返回一个文档对象
  public static Document getDocument(int documentId)
  {
    String sql = "from Document where documentId =?";
    Query query = session.createQuery(sql);
    query.setInteger(0, documentId);
    List list = query.list();
    return (Document)list.get(0);
  }
  // 根据消息的编号。来返回一个消息对象
  public static Messagetable getMessageobj(int messageId)
  {
    String sql = "from Messagetable where messageid =?";
    Query query = session.createQuery(sql);
    query.setInteger(0, messageId);
    List list = query.list();
    return (Messagetable)list.get(0);
  }
  //删除对象
  public static boolean del(Object object)
  {
    boolean flag = false;
    Transaction tr = session.beginTransaction();
    try{
    session.delete(object);
    tr.commit();
    flag = true;
    }catch(Exception e)
    {
      e.printStackTrace();
      tr.rollback();
    }
    return flag;
  }
 
 
  //删除菜单项的子节点
  public static boolean delChildNode(Treemenu treeMenu)
  {
    boolean flag = false;
    Transaction tx = null;
    try{
      treeMenu.getNodeid();
      List<Treemenu> list = search("Document where nodeid="+treeMenu.getNodeid());
      if(list!= null){
          delList(list);
      }
      tx = session.beginTransaction();
      session.delete(treeMenu);
      tx.commit();
      flag = true;
    }catch(Exception e)
    {
      e.printStackTrace();
      tx.rollback();
   
    return flag;
   
  }
 
  public static boolean delFatherNode(Treemenu treeMenu)
  {
    Transaction tx = null;
    try{
      treeMenu.getNodeid();
      List<Treemenu> list = search("Document where nodeid="+treeMenu.getNodeid());
      if(list!= null){
        for(Treemenu menu:list)
          delChildNode(menu);
      }
      tx = session.beginTransaction();
      session.delete(treeMenu);
      tx.commit();
      return true;
    }catch(Exception e)
    {
      e.printStackTrace();
      tx.rollback();
      return false;
   
   
   
  }
 
  public static boolean delList(List list)
  {
    Transaction tx = session.beginTransaction();
    try {
      for(int i=0;i<list.size();i++)
      {
        session.delete(list.get(i));
      }
      tx.commit();
      return true;
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      tx.rollback();
      return false;
    }
  }
 
  //保存对象 ,返回一个boolean 来判断状态
  public static boolean save(Object object){
    Session sessions = HibernateUtil.getSession();
    Transaction transaction = sessions.beginTransaction();
    try {
      sessions.save(object);
      transaction.commit();
      return true;
    } catch (HibernateException e) {
      // TODO Auto-generated catch block
      if(transaction!=null)
        transaction.rollback();
      e.printStackTrace();
    return false;
     
    }
 
  }
  //更新对象
  public static boolean update(Object object){
    Transaction transaction = session.beginTransaction();
    try {
      session.update(object);
      transaction.commit();
      return true;
    } catch (HibernateException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      transaction.rollback();
      return false;
     
    }
  }
}
TOP

Related Classes of org.brain.dbo.DBOperate

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.