Hibernate使用套路,新手请进


package cn.zhaoqinrong.MainApp; import org.apache.log4j.Logger; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import java.io.File; public class HibTest { private Logger logger=Logger.getLogger(HibTest.class); public void firstshow(){ Configuration conf=null;//加载Hibernate的配置文件 SessionFactory sf=null;//创建session Session session=null;//session实施持久化操作的关键API Transaction tx=null;//事务控制 try { //1.创建Configuration的实例,并加载配置文件 conf=new Configuration().configure("hibernate.cfg.xml"); logger.debug("加载配置文件成功"); //获取sessionFactory工厂实例 sf=conf.buildSessionFactory(); logger.debug("创建sessionFactory实例"); //通过sessionFactory来获取session对象 session=sf.getCurrentSession();//推荐使用 /* * SessionFactory.openSession来得到的session需要手工关闭,hibernate不会对其进行管理 * SessionFactory.getcurrentSession()得到的session由hibernate进行管理,不需要手动进行关闭,事务提交后,会话会自动关闭 * 在配置文件中配置 <property name="current_session_context_class">thread</property>,将session * 与线程进行绑定 * * */ logger.debug("创建session实例"); tx= session.beginTransaction(); logger.debug("事务开启"); //2.加载配置文件 //3. } catch (HibernateException e) { e.printStackTrace(); if(tx!=null){ tx.rollback();//session会自动关闭 } } finally { //如果使用open打开的session.必须使用finally对session进行关闭 } } }
package cn.zhaoqinrong.MainApp;

import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import java.io.File;



public class HibTest {
private Logger logger=Logger.getLogger(HibTest.class);
public void firstshow(){
Configuration conf=null;//加载Hibernate的配置文件
SessionFactory sf=null;//创建session
Session session=null;//session实施持久化操作的关键API
Transaction tx=null;//事务控制

try {
//1.创建Configuration的实例,并加载配置文件
conf=new Configuration().configure("hibernate.cfg.xml");
logger.debug("加载配置文件成功");
//获取sessionFactory工厂实例
sf=conf.buildSessionFactory();
logger.debug("创建sessionFactory实例");
//通过sessionFactory来获取session对象
session=sf.getCurrentSession();//推荐使用
/*
* SessionFactory.openSession来得到的session需要手工关闭,hibernate不会对其进行管理
* SessionFactory.getcurrentSession()得到的sessionhibernate进行管理,不需要手动进行关闭,事务提交后,会话会自动关闭
* 在配置文件中配置 <property name="current_session_context_class">thread</property>,session
* 与线程进行绑定
*
* */
logger.debug("创建session实例");
tx= session.beginTransaction();
logger.debug("事务开启");
//2.加载配置文件
//3.
} catch (HibernateException e) {
e.printStackTrace();
if(tx!=null){
tx.rollback();//session会自动关闭
}
} finally {
//如果使用open打开的session.必须使用finallysession进行关闭
}
}
}
原文地址:https://www.cnblogs.com/zqr99/p/7879999.html