posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          hibernate 包裝

          Posted on 2007-07-04 16:49 G_G 閱讀(1039) 評論(5)  編輯  收藏 所屬分類: hibernate
          07-11-9
          由于我對hibernate理解的深入,在次我來終結下這篇文章的不足的地方(好多人在拍磚哈)
          對復雜的邏輯這樣開和關太冒失了。
          ? 在普通的邏輯方法中 session都疊加的用上2次以上 這就要對一級緩沖的管理。事物的使用也是一樣。


          下載:
          ?
          http://www.aygfsteel.com/Files/Good-Game/hibernateUtil.rar

          簡單的繼承包 :?
          ??????繼承 DBManage 類? 把?數據包裝類 管理 (?填充 ,?set 等 ) 后就直接放到里 insert , update , delete 方法中
          ???????? 填充可看看這個,很有實用價值 ----> (?當 Form -> Bean? 或?Bean ->Bean ?) 例子很簡單但想法表明??
          ???????????????????????????????????????????????????????????????????????????
          ??????繼承 DBSelect 類 為 select? 這只是 把 Query 給出 簡單用法 是
          ??????????????????????????????????????????????????????Query?qu =???dao.getQueryBegin(? "?HQL?"?);
          ??????????????????????????????????????????????????????????????qu.add .....
          ??????????????????????????????????????????????????????List li = dao.getQuertyEnd(?qu?);
          ?????擴展:? Criteria? cr , SQLQuery , 等等 把她包裝成 各個 dao 中 不是 很 偷懶???? : )


          Eg :??? ?extendsDBBasic 類
          ????public?List?select(String?id,String?time){

          ????????List?list?
          =?new?ArrayList();
          ????????
          ??????? Query qu =
          getQueryBegin("HSQL");?? //繼承帶來的好處
          ????????
          ??????? .add..........

          ?????????????
          ?????? List list = getQuertyEnd(qu);
          ?? //繼承結束
          ????????

          ????????
          return??list;
          ????}

          缺點: 最好不要static?在一時間點上 此類不能支持多線程?
          ???????????????basicBegin? basicEnd ?方法 (?我找不到好的方法 要的話來個 連接池什么的 大家討論西西吧!!??)
          ?????????????? sess 為全局的 session 要是 寫成?baseicBegin 返回的話 感覺下面的還有很多要寫 什么 close 啊...
          ?????????????????????sess 也是缺點的所在? 當然大家 有什么想法 改下 或自己來個 小包裝 我只是? ??拋磚引玉
          ???
          ????private?Map?transmap?=?new?HashMap();

          ????
          protected?Session?basicBegin(){
          ????????Session?sess?
          =?SessionManager.currentSession();
          ????????
          try?{
          ????????????transmap.put(?sess,?sess.beginTransaction()?);
          ????????}
          catch(Exception?e){System.out.println(e);}
          ????????
          return?sess?;
          ????}
          ????
          ????
          protected?void?basicEnd(Session?sess){
          ????????
          try?{
          ????????????((Transaction)transmap.remove(sess)).commit();
          ????????}
          catch(Exception?e){System.out.println(e);}
          ????????
          finally{
          ????????????sess?
          =?null?;
          ????????????SessionManager.closeSession();
          ????????}
          ????}

          心得: 多包裝多快樂

          評論

          # re: hibernate 初包裝(簡單)  回復  更多評論   

          2007-07-04 22:08 by end
          暈死,還有這樣寫的。

          # re: hibernate 初包裝(簡單)  回復  更多評論   

          2007-07-05 10:28 by tt
          真是受不了,林子大了什么鳥都有啊!

          # re: hibernate 初包裝(簡單)  回復  更多評論   

          2007-07-05 13:35 by G_G
          非主流 想法
          呵呵 希望大家說出 這樣的不足 和 自己看法
          我發現 大量的 寫 session 的 開始 和結束 了

          # re: hibernate 初包裝(簡單)  回復  更多評論   

          2007-07-05 13:36 by G_G
          那 大家 的 hibernate 有沒有好的 方法寫?

          # re: hibernate 初包裝(簡單)  回復  更多評論   

          2007-07-06 21:07 by 軒朗=maninred
          用spring用HibernateSupport類
          主站蜘蛛池模板: 大关县| 泰和县| 辽宁省| 南乐县| 游戏| 塔城市| 甘德县| 杭锦旗| 囊谦县| 唐河县| 冀州市| 凤山市| 江北区| 杭锦旗| 周至县| 富裕县| 雅江县| 通州区| 横峰县| 拉萨市| 时尚| 天台县| 平原县| 琼结县| 吉木乃县| 巴林右旗| 淮安市| 宝清县| 武义县| 阜南县| 新巴尔虎左旗| 尼勒克县| 兴海县| 抚远县| 灵丘县| 板桥市| 绵阳市| 海林市| 汽车| 大冶市| 徐汇区|