<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 7  文章 - 3  trackbacks - 0
    <2011年12月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    通用的增刪該查工具類  可在dao層 new一個
    CommonCrudUtil(本類)實例  實現對數據的增刪改查




    package com.XXXXX.util;

    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.List;
    import org.hibernate.*;
    /**
     * 通用增刪改查工具類
     * @author 王代軍
     * @since Dec 19,2011
     * @version 1.0
     */
    @SuppressWarnings("unchecked")
    public class CommonCrudUtil<T> {
        /**
         * 添加功能
         * @param obj 要保存的對象
         */
        public boolean create(Object obj){
            Session session=HibernateSessionFactory.getSession();
            Transaction tx=null;
            boolean flag=false;
            try{
                tx=session.beginTransaction();
                session.persist(obj);
                tx.commit();
                flag=true;
            }catch(Exception e){
                e.printStackTrace();
                if(tx!=null){        
                    tx.rollback();
                }
            }finally{
                session.close();
            }    
            return flag;
        }
        /**
         * 查詢功能
         * @param clazz 要查詢對象的類型  obj 要查詢的對象的 可序列化的字段 (本設計指主鍵 id)
         */
        public Object retrieve(Class clazz,Object obj){
            Session session=HibernateSessionFactory.getSession();
            Transaction tx=null;
            try{
                tx=session.beginTransaction();
                Object object=session.get(clazz,(Serializable) obj);
                tx.commit();
                return object;
            }catch(Exception e){
                e.printStackTrace();
                if(tx!=null){        
                    tx.rollback();
                }
                return null;
            }finally{
                session.close();
            }        
        }    
        /**
         * 查詢全部功能
         * @param clazz 要查詢的對象的類型
         */
        public List<T> retrieve(Class clazz){
            Session session=HibernateSessionFactory.getSession();
            List<T> list=new ArrayList<T>();
            Transaction tx=null;
            try{
                tx=session.beginTransaction();
                Criteria cr=session.createCriteria(clazz);
                list=cr.list();
                tx.commit();
                return list;
            }catch(Exception e){
                e.printStackTrace();
                if(tx!=null){            
                    tx.rollback();
                }
                return null;
            }finally{
                session.close();
            }
        }
        /**
         * 更新功能
         * @param obj 要更新的對象
         */
        public boolean update(Object obj){
            Session session=HibernateSessionFactory.getSession();
            boolean flag=false;
            Transaction tx=null;
            try{
                tx=session.beginTransaction();
                session.update(obj);
                tx.commit();
                flag=true;
            }catch(Exception e){
                e.printStackTrace();
                if(tx!=null){            
                    tx.rollback();
                }
            }finally{
                session.close();
            }
            return flag;
        }
        /**
         * 刪除功能
         * @param clazz 要刪除的對象的類型 obj 要刪除的對象的 唯一標識(可序列化)字段 (指主鍵 id)
         */
        public boolean delete(Class clazz,Object obj){
            Session session=HibernateSessionFactory.getSession();
            Transaction tx=null;
            boolean flag=false;
            try{
                tx=session.beginTransaction();
                Object object=session.get(clazz,(Serializable) obj);
                session.delete(object);
                tx.commit();
                flag=true;
            }catch(Exception e){
                e.printStackTrace();
                if(tx!=null){        
                    tx.rollback();
                }
            }finally{
                session.close();
            }    
            return flag;
        }
        
    }



    調用實現   dao層的實現類調用 
       CommonCrudUtil  的方法實現增刪改查

    import java.util.Date;
    import java.util.List;

    import org.hibernate.Query;
    import com.zhongyou.bean.IDCard;
    import com.zhongyou.util.CommonCrudUtil;

    public class IDCardDaoImpl implements IDCardDaoIf {

        
         CommonCrudUtil crud=new CommonCrudUtil<IDCard>();
       
         public int addInformation(IDCard card) {

         IDCard card=new IDCard();
         card.setId(16);
         card.setName("xiaoxiao");
         card.setAddress("xiaoxiao");
         card.setBirthday(new Date());
         card.setNumber("29472398734");
         card.setSex("男");


         crud.create(card);//增加.......

    }
     
         。。。。。。查詢。。。。。
         crud.retrieve(IDCard.class,3);
        。。。。。。查詢全部。。。。。
         crud.retrieve(IDCard.class);

        。。。。。。修改。。。。
         crud.update(card);
        。。。。。。刪除。。。。
         crud.delete(IDCard.class,3);
    。。。。。。。。。



    寫的簡陋些  只是些想法可借鑒而已 同志們 可以自己完善。。。。




    posted on 2011-12-26 13:22 Tomas 閱讀(2007) 評論(1)  編輯  收藏

    FeedBack:
    # re: hibernate 通用的增該查 工具類 供Dao層使用 2011-12-29 12:49 SwiftDAO
    我也做過了一個:SwiftDAO
    http://code.google.com/p/swiftdao
    一起交流  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲美女一区二区三区| 国产亚洲AV夜间福利香蕉149| 亚洲资源在线观看| 免费的全黄一级录像带| 久久91亚洲人成电影网站| 三上悠亚电影全集免费| 亚洲精品高清无码视频| 国产成人免费ā片在线观看老同学| 亚洲熟妇av一区二区三区| 最近免费mv在线观看动漫| 亚洲av网址在线观看| 8x成人永久免费视频| 亚洲国产成人手机在线电影bd| aa级一级天堂片免费观看| 亚洲AV无码成人网站在线观看| 亚洲欧洲精品成人久久奇米网| 久久性生大片免费观看性| 亚洲人成在线观看| 国产精品免费观看久久| 国产精品亚洲精品爽爽| 亚洲精品美女久久久久99| 最近2019免费中文字幕6| 亚洲高清中文字幕免费| 亚洲AV无码成H人在线观看| 99在线免费视频| 亚洲成人福利在线观看| 国产成人在线免费观看| 国产一级一毛免费黄片| 亚洲精品日韩专区silk| 国产成人免费手机在线观看视频| 猫咪免费人成在线网站| 亚洲一级二级三级不卡| 青青草国产免费久久久91| 青青操在线免费观看| 亚洲人成网站在线观看播放动漫 | 美女网站在线观看视频免费的| 亚洲av午夜福利精品一区| 免费无码肉片在线观看| 精精国产www视频在线观看免费| 亚洲视频一区网站| 免费一级毛片在线播放|