<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

    常用鏈接

    留言簿

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    通用的增刪該查工具類  可在dao層 new一個(gè)
    CommonCrudUtil(本類)實(shí)例  實(shí)現(xiàn)對(duì)數(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 要保存的對(duì)象
         */
        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 要查詢對(duì)象的類型  obj 要查詢的對(duì)象的 可序列化的字段 (本設(shè)計(jì)指主鍵 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 要查詢的對(duì)象的類型
         */
        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 要更新的對(duì)象
         */
        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 要?jiǎng)h除的對(duì)象的類型 obj 要?jiǎng)h除的對(duì)象的 唯一標(biāo)識(shí)(可序列化)字段 (指主鍵 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)用實(shí)現(xiàn)   dao層的實(shí)現(xiàn)類調(diào)用 
       CommonCrudUtil  的方法實(shí)現(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);
    。。。。。。。。。



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




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

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 欧洲亚洲综合一区二区三区| 亚洲AV中文无码字幕色三| 在线观看免费大黄网站| 性短视频在线观看免费不卡流畅| 亚欧在线精品免费观看一区| 95老司机免费福利| 亚洲成人免费网站| 国产高清免费视频| 久久久高清免费视频| 毛片A级毛片免费播放| 成人毛片免费网站| 日本特黄a级高清免费大片| 国产精品久久免费视频| 免费va在线观看| 亚洲精品乱码久久久久久蜜桃| 亚洲人成网站观看在线播放| 亚洲愉拍99热成人精品热久久 | 99re这里有免费视频精品| 59pao成国产成视频永久免费| 国产91色综合久久免费| 免费不卡视频一卡二卡| 日本免费的一级v一片| 亚洲国产精品专区在线观看| 亚洲无线观看国产精品| 亚洲av色福利天堂| 亚洲人成7777| 免费国产黄网站在线看| 水蜜桃视频在线观看免费播放高清 | 国产免费变态视频网址网站| 爱情岛论坛网亚洲品质自拍| 亚洲成AV人片一区二区| 亚洲国产精品专区| 狼人大香伊蕉国产WWW亚洲| 东北美女野外bbwbbw免费| 1000部啪啪毛片免费看| 日本无卡码免费一区二区三区| 亚洲欧洲国产精品香蕉网| 亚洲国产精品成人综合久久久| 激情婷婷成人亚洲综合| 最近免费中文字幕MV在线视频3| 日本妇人成熟免费中文字幕|