package util;import java.util.ArrayList;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;import entity.UserInfo;public class HibernateUtil{ private static SessionFactory sessionFactory; /** * @return 获取会话工厂 */ public static SessionFactory getSessionFactory() { //第一步:读取Hibernate的配置文件 hibernamte.cfg.xml文件 Configuration con=new Configuration().configure(); //第二步:创建服务注册构建器对象,通过配置对象中加载所有的配置信息 ServiceRegistryBuilder regbulider=new ServiceRegistryBuilder().applySettings(con.getProperties()); //创建注册服务 ServiceRegistry reg=regbulider.buildServiceRegistry(); //第三步:创建会话工厂 SessionFactory sessionFactory=con.buildSessionFactory(reg); return sessionFactory; } /** * @return 获取会话对象 */ public static Session getSession() { return getSessionFactory().openSession(); } /** * @param obj 添加数据 * @return */ public static boolean add(Object obj) { Session session=null; Transaction tran=null; boolean result=false; try { session=getSession(); tran=session.beginTransaction(); session.save(obj); tran.commit(); result=true; } catch (Exception e) { if(tran!=null) { //事物回滚 tran.rollback(); } } finally { if(session!=null) { //关闭session session.close(); } } return result; } /** * @return 更新数据 * 参数为修改的主键id对象 */public static boolean update(Object object) { Session session=null; Transaction tran=null; boolean result=false; try { session=getSession(); tran=session.beginTransaction(); session.update(object); tran.commit(); result=true; } catch (Exception e) { if(tran!=null) { //事物回滚 tran.rollback(); } } finally { if(session!=null) { //关闭session session.close(); } } return result; } /** * @param c * @param obj 查询一条数据根据主键的id号 * @return */ public static Object get(Class c,int obj) { Session session=null; Object object=null; try { session=getSession(); object=session.get(c,obj); } catch (Exception e) { } finally { if(session!=null) { //关闭session session.close(); } } return object; } /** * @param obj * @return 删除数据 */public static boolean delete(Object obj) { Session session=null; Transaction tran=null; boolean result=false; try { session=getSession(); tran=session.beginTransaction(); session.delete(obj); tran.commit(); result=true; } catch (Exception e) { if(tran!=null) { //事物回滚 tran.rollback(); } } finally { if(session!=null) { //关闭session session.close(); } } return result; } /** * @param查询多条记录 * @param sql sql语句 * @param param 参数数组 * @return */ @SuppressWarnings("unchecked")public static List query(String sql,String[] param) { List list=new ArrayList (); Session session=null; try { session=getSession(); Query query=session.createQuery(sql); if(param!=null) { for(int i=0;i * @param sql * @param param * @param page * @param size * @return 实现分页查询 */@SuppressWarnings("unchecked")public static List queryByPage(String sql,String[] param,int page,int size) { List list=new ArrayList (); Session session=null; try { session=getSession(); Query query=session.createQuery(sql); if(param!=null) { for(int i=0;i