工具来开启session和关闭session
包:com.xie.util 类:HibernateUtil
package com.hsp.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static HibernateUtil instance;
//专门开启session和关闭session
private SessionFactory factory;
public HibernateUtil()
{
factory=new Configuration().configure().buildSessionFactory();
}
public Session openSession()
{
return factory.openSession();
}
public void closeSession(Session session)
{
if(session!=null)
{
session.close();
}
}
public static HibernateUtil getInstance()
{
if(instance==null)
{
instance=new HibernateUtil();
}
return instance;
}
}
测试用:包:com.xie.test 类:TestClient
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.xie.domain.User;
import com.xie.util.HibernateUtil;
public class TestMain {
public static void main(String args[])
{
Configuration cfg=new Configuration().configure();
HibernateUtil util=HibernateUtil.getInstance();
Session session=null;
Transaction tx=null;
try
{
session=util.openSession();
tx=session.beginTransaction();
//里面写相应的逻辑:比如:
User user=new User();
user.setName("wuling");
user.setPassword("555");
session.save(user);
tx.commit();
}catch(Exception e)
{
e.printStackTrace();
if(tx!=null)
{
tx.rollback();
}
}finally{
util.closeSession(session);
}
}
}
韩顺平的简单点
package com.hsp.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
final public class MySessionFactory {
private static SessionFactory sessionFactory=null;
private MySessionFactory()
{
}
static{
sessionFactory=new Configuration().configure().buildSessionFactory();
}
public static SessionFactory getSessionFactory()
{
return sessionFactory;
}
}