日期:2014-05-16  浏览次数:20515 次

Hibernate增删改查数据库之二工具类

/**
* Hibernate工具类(简单型)
* 功能-完成会话工厂和会话的创建已经会话的关闭
* @author Owner
*
*/
public class HibernateUtils {
private static Transaction tran=null;
private static Session session = null;
private static SessionFactory factory=null;
/**
  * static块的语句只实例化一次(单列)
  */
static{
  try{
   //读取hibernate.cfg.xml配置文件
   Configuration cfg = new Configuration().configure();
   //通过cfg对象创建会话工厂对象
   factory = cfg.buildSessionFactory();
  }catch(Exception e){
   System.out.println("hibernate.cfg.xml not found!");
   e.printStackTrace();
  }
}
/**
  * DESC:获取会话工厂
  * @return
  */
public static SessionFactory getSessionFactory(){
  return factory;
}
/**
  * DESC:获取会话session对象
  * @return
  */
public static Session getSession(){
  session = factory.openSession();
  System.out.println("-----session创建成功!");
  return session;
}
/**
  * DESC:关闭会话
  * @param session
  */
public static void closeSession(Session session){
  if(session!=null){
   if(session.isOpen()){
    session.close();
    System.out.println("----session关闭成功!");
   }
  }
}
/**
  * DESC-开启事务
  * @return
  */
public static void openTransaction(){
  Transaction tran = session.beginTransaction();
  System.out.println("---事务开启成功!");
  HibernateUtils.tran=tran;
}
public static void commitTransaction(){
  try {
   System.out.println(HibernateUtils.tran);
   HibernateUtils.tran.commit();
   System.out.println("--事务提交成功!");
  } catch (Exception e) {
   HibernateUtils.rollbackTransation();
   e.printStackTrace();
  }
}
public static void rollbackTransation(){
  try {
   HibernateUtils.tran.rollback();
   System.out.println("-数据回滚成功!");
  } catch (Exception e) {
   System.out.println("-数据回滚失败!");
   e.printStackTrace();
  }
}
}
1 楼 duronshi 2008-12-10  
这工具类未免太那个了吧......

还有更正下,是"事务"不是"事物"