<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
    一起交流  回復  更多評論
      

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


    網站導航:
     
    主站蜘蛛池模板: 中文字幕亚洲一区| 国产老女人精品免费视频| 亚洲精品无码不卡在线播放HE| 国产大陆亚洲精品国产| 国产在线播放免费| 男男gay做爽爽的视频免费| 日本高清免费中文字幕不卡| 亚洲欧洲日韩极速播放 | 国产在线观看免费视频软件| 亚洲高清成人一区二区三区 | a级毛片在线视频免费观看| 亚洲日韩精品一区二区三区 | 国产在线观a免费观看| 亚洲人成图片小说网站| 免费A级毛片av无码| 亚洲国产成人久久| 午夜免费福利影院| 青娱乐在线免费观看视频| ZZIJZZIJ亚洲日本少妇JIZJIZ | 亚洲av无码专区国产乱码在线观看| 永久免费不卡在线观看黄网站| 亚洲一区二区三区首页| 59pao成国产成视频永久免费| 911精品国产亚洲日本美国韩国 | 永久免费bbbbbb视频| 美女又黄又免费的视频| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 美女羞羞视频免费网站| 伊人亚洲综合青草青草久热| 免费A级毛片无码A∨| 亚洲人成色4444在线观看| 国产L精品国产亚洲区久久| 免费日本一区二区| 亚洲国产区男人本色在线观看| 男人的天堂亚洲一区二区三区 | 无码人妻精品中文字幕免费 | 亚洲国产一区二区视频网站| 久久免费精彩视频| 亚洲欧美日韩综合久久久久| 久久精品国产精品亚洲人人| 四虎在线视频免费观看视频|