<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(本類)實例  實現(xiàn)對數(shù)據(jù)的增刪改查




    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 要查詢的對象的 可序列化的字段 (本設(shè)計指主鍵 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();
            }        
        }    
        /**
         * 查詢?nèi)抗δ?br />     * @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 要刪除的對象的 唯一標(biāo)識(可序列化)字段 (指主鍵 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;
        }
        
    }



    調(diào)用實現(xiàn)   dao層的實現(xiàn)類調(diào)用 
       CommonCrudUtil  的方法實現(xiàn)增刪改查

    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);
        。。。。。。查詢?nèi)俊!!!!?br />
         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
    一起交流  回復(fù)  更多評論
      

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 日韩免费高清一级毛片| 一区二区免费电影| 爱情岛论坛网亚洲品质自拍| 在线观看免费无码视频| 亚洲激情校园春色| 免费国产不卡午夜福在线| 免费国产成人午夜在线观看| 亚洲91精品麻豆国产系列在线| 亚洲国产精品无码久久九九| 99爱在线精品视频免费观看9| 亚洲日韩一区精品射精| 亚洲AV午夜成人片| 国产精品极品美女免费观看| 特级精品毛片免费观看| 粉色视频成年免费人15次| 久久水蜜桃亚洲av无码精品麻豆| 四虎精品亚洲一区二区三区| 免费观看黄色的网站| 中文字幕免费在线视频| 亚洲精品久久无码av片俺去也| 亚洲乱码国产一区三区| 国产成人免费片在线视频观看| 污污网站免费观看| 成年免费大片黄在线观看com| 亚洲最大黄色网站| 亚洲国产精品国自产拍AV| 免费国产成人高清在线观看麻豆 | 嫩草在线视频www免费观看| 亚洲精品美女网站| 亚洲国产精品一区二区久久| 国产成人亚洲综合无码| 免费看无码自慰一区二区| 每天更新的免费av片在线观看| 国产精品免费观看视频| 久久久久亚洲精品无码网址色欲| 亚洲成a人片77777群色| 亚洲天堂在线播放| 亚洲国产精品无码中文字| 国产亚洲精aa成人网站| 全部免费国产潢色一级| 国产成人免费一区二区三区|