公共操作的封装
上一个简单的写了一个demo,可以看到,里面有很多操作是零散的,这就需要封装起来,以后直接用就可以了,如下:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtils {
/*
*读取Hibernate.cfg.xml文件
*/
private static SessionFactory factory;
static {
try {
//读取hibernate.cfg.xml文件
Configuration cfg = new Configuration().configure();
//建立SessionFactory
factory = cfg.buildSessionFactory();
}catch(Exception e) {
e.printStackTrace();
}
}
/*
*打开Session
*/
public static Session getSession() {
return factory.openSession();
}
/*
*关闭Session
*/
public static void closeSession(Session session) {
if (session != null) {
if (session.isOpen()) {
session.close();
}
}
}
public static SessionFactory getSessionFactory() {
return factory;
}
}
使用就这么简单
//获取session
Session session = HerbernateUtil.getSession();
//开始事务
session.beginTransaction();
//具体操作
session.save(myObject);
session.getTransaction().commit(); //事务提交
session.close(); //关闭session