灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2482回复:0

hibernate工具类封装增删改操作,简化编程

楼主#
更多 发布于:2012-09-08 09:45

public class HibernateUtil {
    private static Configuration cfg;
    private static SessionFactory sessionFactory;
    
    private HibernateUtil(){}
    
    static{
        cfg = new Configuration();
        cfg.configure();
        sessionFactory = cfg.buildSessionFactory(new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry());
    }
    
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    public static synchronized Session getSession(){
        return sessionFactory.openSession();
    }
    
    /*
     * 公用增删改操作
     */
    
    public static boolean save(Object obj){
        Session session = null;
        Transaction trans = null;
        try{
            session = HibernateUtil.getSession();
            trans = session.beginTransaction();
            session.save(obj);
            trans.commit();
            return true;
        }catch(HibernateException e){
            if(null != trans)
                trans.rollback();
            e.printStackTrace();
        }finally{
            if(null != session)
                session.close();
        }
        return false;
    }
    
    public static boolean delete(Object obj){
        Session session = null;
        Transaction trans = null;
        try{
            session = HibernateUtil.getSession();
            trans = session.beginTransaction();
            session.delete(obj);
            trans.commit();
            return true;
        }catch(HibernateException e){
            if(null != trans)
                trans.rollback();
            e.printStackTrace();
        }finally{
            if(null != session)
                session.close();
        }
        return false;
    }
    
    public static boolean update(Object obj){
        Session session = null;
        Transaction trans = null;
        try{
            session = HibernateUtil.getSession();
            trans = session.beginTransaction();
            session.update(obj);
            trans.commit();
            return true;
        }catch(HibernateException e){
            if(null != trans)
                trans.rollback();
            e.printStackTrace();
        }finally{
            if(null != session)
                session.close();
        }
        return false;
    }
    @SuppressWarnings("rawtypes")
    public static Object get(Class clazz,Serializable id){
        Session session = null;
        Object obj = null;
        try{
            session = HibernateUtil.getSession();
            obj = session.get(clazz,id);
        }catch(HibernateException e){
            e.printStackTrace();
        }finally{
            if(null != session)
                session.close();
        }
        return obj;
    }
    
}


摘自 mzlqh的专栏


喜欢0 评分0
游客

返回顶部