📄 inithibernateutil.java
字号:
package cn.zqnet8.rank.util;
import java.util.HashMap;
import java.util.Map;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
/*
* 该类为Hibernate的具体操作类,
* 包括初始化SessionFactory和获取Session对象
*/
public class InitHibernateUtil {
private static SessionFactory sf=null;
private static boolean flag=false;
private static Map map=new HashMap();
/*
* 初始化SessionFactory
*/
public static void initSessionFactory(){
if(flag==false){
Configuration config=new Configuration().configure();
sf=config.buildSessionFactory();
flag=true;
}
}
public static void destroySessionFactory(){
if(sf!=null&&!sf.isClosed()){
sf.close();
}
}
/*
* 关闭session
*/
public static void closeSessionFactory(){
if(sf!=null&&!sf.isClosed()){
sf.close();
}
}
/*
* 获取session
*/
public static Session getSession(){
Session session=null;
long id=Thread.currentThread().getId();
if(map.get(id)==null){
if(sf==null){
initSessionFactory();
}
session=sf.openSession();
map.put(id, session);
}else{
session=(Session)map.get(id);
}
return session;
}
public static void closeSession(){
Session session=(Session)map.get(Thread.currentThread().getId());
if(session!=null){
map.remove(Thread.currentThread().getId());
session.close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -