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

          hibernate 包裝

          Posted on 2007-07-04 16:49 G_G 閱讀(1047) 評論(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類
          主站蜘蛛池模板: 景宁| 高淳县| 拉萨市| 临湘市| 永德县| 应城市| 措美县| 苏尼特左旗| 九江县| 河池市| 台北市| 柳林县| 静乐县| 曲阜市| 赤壁市| 阳山县| 株洲县| 商水县| 太和县| 南陵县| 涿鹿县| 德格县| 柘城县| 汽车| 喜德县| 五原县| 呈贡县| 扬州市| 桃园县| 抚远县| 易门县| 大宁县| 施秉县| 满城县| 松溪县| 巩义市| 古蔺县| 大英县| 达孜县| 石棉县| 佛坪县|