1.创建一个单例模式并进行配置
package Dao;
import org.hibernate.HibernateException;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
//SessionFactory单态模式
public class HibernateUtil {
private static Configuration cfg = null;
private static SessionFactory sf = null;
//静态代码块
static { //在类加载的时候只能执行一次
try {
cfg = new Configuration().configure();
sf = cfg.buildSessionFactory();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//获得session工厂
public static SessionFactory getSessionFactory() {
return sf;
}
//关闭工厂
public static void closeSessionFactory() {
sf.close();
}
}
2.为了保证每个读写线程有唯一的session实例在hibernate.cfg.xml的 < session-factory>标签中添加
< property name="hibernate.current_session_context_class">thread</ property>
3.对ManageUser进行更改
Transaction tx = session.beginTransaction();
4.调用:Query query = session.createQuery(“from User”)查询语句使用HQL或者本地数据库的SQL方言编写。
5.测试
创建用户
User u = new User();
u.setName("洪铭");
u.setAge(21);
u.setGender("男");
u.setBirthday(Date.valueOf("2000-5-31"));
成功插入
软件18-8班 洪铭