目录
HiberUnti.java(使用单例模式创建SessionFactory)
代码编写
HiberUnti.java(使用单例模式创建SessionFactory)
创建HiberUnti.java,代码如下:
public class HiberUnti {
private static Configuration con;
private static SessionFactory sf;
static {
try{
con = new Configuration().configure();
sf = con.buildSessionFactory();
}catch (Exception e){
e.printStackTrace();
}
}
public static SessionFactory getSessionFactory(){
return sf;
}
public void closeSessionFactory(){
sf.close();
}
}
hibernate.cfg.xml
在hibernate.cfg.xml文件中添加以下代码:
<property name="hibernate.current_session_context_class">thread</property>
测试方法 query()
编辑usermanager.java,代码如下:(注:使用@Test注解)
public class usermanager {
private SessionFactory sf;
private Configuration con;
public usermanager() {
con = new org.hibernate.cfg.Configuration().configure();
sf = HiberUnti.getSessionFactory();
}
@Test
public void query() {
Session se = sf.getCurrentSession();
String hql = "from User";
Transaction ts = se.beginTransaction();
try {
List<User> list = se.createQuery(hql).list();
list.forEach(u -> System.out.println(u.getId() + " " + u.getName() + " " + u.getAge()));
} catch (Exception e) {
e.printStackTrace();
} finally {
se.close();
}
}
}
测试及结果
测试
测试query()方法
结果
测试结果如下:
测试成功!