hibernate中用hql實現查找、刪除、更新

package org.cissco.dao;
import java.util.Iterator;
import java.util.List;
import org.cissco.HibernateSessionFactory;
import org.cissco.vo.Admin;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class AdminDAO {

public void getAdminDAO(Admin admin)
{
  Session session = HibernateSessionFactory.getSession();
  String hql = "FROM Admin AS a WHERE a.adminId = ?";
  Query query = session.createQuery(hql);
  query.setInteger(0, admin.getAdminId());
  
  Iterator it = query.list().iterator();
  if(it.hasNext())
  {
   admin.setAdminName(((Admin)it.next()).getAdminName());
  }
}

public boolean saveUser(Admin admin)
{
  boolean isSuccessful = false;
  Transaction ts = null;
  try
  {
   Session session = HibernateSessionFactory.getSession();
   ts = session.beginTransaction();
   session.save(admin);
   ts.commit();
   isSuccessful = true;
  }
  catch (HibernateException e)
  {
   e.printStackTrace();
   try
   {
    ts.rollback();
   }
   catch (HibernateException e1)
   {
    e1.printStackTrace();
   }
  }
  finally
  {
   try
   {
    HibernateSessionFactory.closeSession();
   } catch (HibernateException e)
   {
    e.printStackTrace();
   }
  }
  return isSuccessful;
}
public List getUserList()
{
  Session session = HibernateSessionFactory.getSession();
  List list = session.createQuery("FROM Admin").list();
  if(list != null && list.size() > 0)
  {
   return  list;
  }
  return  list;
}

public Admin getAdmin(int id)
{
  Session session = HibernateSessionFactory.getSession();
  Admin admin = null;
  List list = session.createQuery("FROM Admin AS a WHERE a.adminId=:id").setInteger("id", id).list();
  if(list != null && list.size() > 0)
  {
   admin = (Admin) list.get(0);
  }
  return admin;
}

public boolean deleteAdmin(int adminId)
{
  boolean isSuccessful = false;
  try
  {
   Session session = HibernateSessionFactory.getSession();
   Transaction ts = session.beginTransaction();
   Admin admin = (Admin) session.load(Admin.class, new Integer(adminId));
   session.delete(admin);
   ts.commit();
   isSuccessful = true;
  }
  catch (HibernateException e)
  {
   e.printStackTrace();
  }
  return isSuccessful;  
}

public boolean updateAdmin(Admin admin,int id)
{
  boolean isSuccessful = false;
  Transaction ts = null;
  Session session = null;
  try
  {
   session = HibernateSessionFactory.getSession();
   ts = session.beginTransaction();
   session.load(Admin.class, new Long(id));
   admin.setAdminName(admin.getAdminName());
   admin.setAdminPass(admin.getAdminPass());
  session.merge(admin);
   ts.commit();
   isSuccessful = true;
  }
  catch (HibernateException e)
  {
   e.printStackTrace();
   try
   {
    ts.rollback();
   }
   catch (HibernateException e1)
   {
    e1.printStackTrace();
   }
  }
  finally
  {
   try
   {
    session.close();
   }
   catch (HibernateException e)
   {
    e.printStackTrace();
   }
  }
  return isSuccessful;
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章