hibernate封装工具类
封装HibernateUtils.java
package utils;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
public class HibernateUtils {
private static SessionFactory sf;
static{
Configuration cfg = new Configuration().configure();
ServiceRegistry sr=new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
sf = cfg.buildSessionFactory(sr);
}
public static SessionFactory getsessionFactory() {
return sf;
}
public static void closeSession(Session session){
session.close();
}
public static Session getSession() {
return sf.openSession();
}
public static void closeResource(Session session) {
session.close();
sf.close();
}
}
工具类的应用
package hibernate.test;
import model.User;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;
import utils.HibernateUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestHibernate {
@Test
public void test() {
Session session = HibernateUtils.getSession();
Transaction ts = session.beginTransaction();
try {
User user = new User();
user.setUserName("周志强");
user.setAge(22);
user.setGender(1);
Date date = new Date(1997 - 1900, 06 - 1, 07);
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
String s = format.format(date);
user.setBirthday(new Date(s));
user.setAddress("天水");
session.save(user);
ts.commit();
} catch (Exception e) {
e.printStackTrace();
ts.rollback();
}finally {
HibernateUtils.closeResource(session);
}
}
}