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

          hibernate 包裝

          Posted on 2007-07-04 16:49 G_G 閱讀(1038) 評論(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類
          主站蜘蛛池模板: 城固县| 汕尾市| 清苑县| 和林格尔县| 安徽省| 鱼台县| 左权县| 温宿县| 侯马市| 忻州市| 贵定县| 津市市| 永春县| 开化县| 克山县| 沙湾县| 万源市| 兴隆县| 北流市| 禹城市| 峨山| 桦南县| 南澳县| 陇西县| 宣城市| 古丈县| 岳普湖县| 偃师市| 安陆市| 大英县| 二手房| 北川| 藁城市| 河北省| 汽车| 攀枝花市| 达日县| 澄迈县| 新建县| 塘沽区| 龙门县|