Hibernate工具类获取Session对象、以及简单的增删改查操作

来源:互联网 发布:linux 端口转发工具 编辑:程序博客网 时间:2024/06/14 01:10
import java.io.Serializable;import org.hibernate.HibernateException;import org.hibernate.Session;

package cn.itcast.hibernate.utils;

import java.io.Serializable;

import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;

public final class HibernateUtil { private static SessionFactory sessionFactory;  private HibernateUtil(){   }  static{  Configuration cfg = new Configuration();  cfg.configure();  sessionFactory = cfg.buildSessionFactory(); }  public static SessionFactory getSessionFactory(){  return sessionFactory; }  public static Session getSession(){  return sessionFactory.openSession(); } /**增加**/ public static void add(Object obj){  Session s = null;  Transaction ts = null;  try{   s = getSession();   ts = s.beginTransaction();//开启事务   s.save(obj);//若不开启事务,sava方法会将数据插入数据库,之后又回滚给删掉了   //s.persist(user);若不开启事务根本不会插入   ts.commit();//提交事务  }catch(HibernateException e){   if(ts != null)    ts.rollback();   throw e;  }finally{   if(s != null)    s.close();  } }  /**删除**/ public static void delete(Object obj){  Session s = null;  Transaction ts = null;  try{   s = getSession();   ts = s.beginTransaction();//开启事务   s.delete(obj);//若不开启事务,sava方法会将数据插入数据库,之后又回滚给删掉了   //s.persist(user);若不开启事务根本不会插入   ts.commit();//提交事务  }catch(HibernateException e){   if(ts != null)    ts.rollback();   throw e;  }finally{   if(s != null)    s.close();  } }  /**更新**/ public static void update(Object obj){  Session s = null;  Transaction ts = null;  try{   s = getSession();   ts = s.beginTransaction();//开启事务   s.update(obj);//若不开启事务,sava方法会将数据插入数据库,之后又回滚给删掉了   //s.persist(user);若不开启事务根本不会插入   ts.commit();//提交事务  }catch(HibernateException e){   if(ts != null)    ts.rollback();   throw e;  }finally{   if(s != null)    s.close();  } }  /**查找:根据ID**/ public static Object get(Class clazz,Serializable id){  Session s = null;  try{   s = HibernateUtil.getSession();   Object obj = s.get(clazz, id);   return obj;  }finally{   if(s != null)    s.close();  } }}

原创粉丝点击