因为session的创建很繁重,每次运行的时候都要重新创建一个session,所以我们用静态代码块的方式实现单例模式的Session。
package ORM;
import org.hibernate.HibernateException;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static Configuration cun;
private static SessionFactory sf;
static {
try {
cun = new Configuration().configure();
sf = cun.buildSessionFactory();//连接里有开启sessionFactory的方法
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static SessionFactory getSession() {
return sf;
}
}
以上代码能够保证我创建的Session只有一个。
@Test
public void selectStu() {
SessionFactory sessionFactory = null;
Session session = null;
Transaction t = null;
try {
sessionFactory = HibernateUtil.getSession();
session = sessionFactory.getCurrentSession();
t = session.be