07-11-9
由于我對(duì)hibernate理解的深入,在次我來終結(jié)下這篇文章的不足的地方(好多人在拍磚哈)
對(duì)復(fù)雜的邏輯這樣開和關(guān)太冒失了。
? 在普通的邏輯方法中 session都疊加的用上2次以上 這就要對(duì)一級(jí)緩沖的管理。事物的使用也是一樣。
下載:?
http://www.aygfsteel.com/Files/Good-Game/hibernateUtil.rar
簡單的繼承包 :?
??????繼承 DBManage 類? 把?數(shù)據(jù)包裝類 管理 (?填充 ,?set 等 ) 后就直接放到里 insert , update , delete 方法中
???????? 填充可看看這個(gè),很有實(shí)用價(jià)值 ----> (?當(dāng) Form -> Bean? 或?Bean ->Bean ?) 例子很簡單但想法表明??
???????????????????????????????????????????????????????????????????????????
??????繼承 DBSelect 類 為 select? 這只是 把 Query 給出 簡單用法 是
??????????????????????????????????????????????????????Query?qu =???dao.getQueryBegin(? "?HQL?"?);
??????????????????????????????????????????????????????????????qu.add .....
??????????????????????????????????????????????????????List li = dao.getQuertyEnd(?qu?);
?????擴(kuò)展:? Criteria? cr , SQLQuery , 等等 把她包裝成 各個(gè) dao 中 不是 很 偷懶???? : )
Eg :??? ?extendsDBBasic 類
????public?List?select(String?id,String?time){

????????List?list?=?new?ArrayList();
????????
??????? Query qu = getQueryBegin("HSQL");?? //繼承帶來的好處
????????
??????? .add..........
?????????????
?????? List list = getQuertyEnd(qu); ?? //繼承結(jié)束
????????
????????return??list;
????}
缺點(diǎn): 最好不要static?在一時(shí)間點(diǎn)上 此類不能支持多線程?
???????????????basicBegin? basicEnd ?方法 (?我找不到好的方法 要的話來個(gè) 連接池什么的 大家討論西西吧!!
??)
?????????????? sess 為全局的 session 要是 寫成?baseicBegin 返回的話 感覺下面的還有很多要寫 什么 close 啊...
?????????????????????sess 也是缺點(diǎn)的所在? 當(dāng)然大家 有什么想法 改下 或自己來個(gè) 小包裝 我只是?
??拋磚引玉
???
心得: 多包裝多快樂
由于我對(duì)hibernate理解的深入,在次我來終結(jié)下這篇文章的不足的地方(好多人在拍磚哈)
對(duì)復(fù)雜的邏輯這樣開和關(guān)太冒失了。
? 在普通的邏輯方法中 session都疊加的用上2次以上 這就要對(duì)一級(jí)緩沖的管理。事物的使用也是一樣。
下載:?
http://www.aygfsteel.com/Files/Good-Game/hibernateUtil.rar
簡單的繼承包 :?
??????繼承 DBManage 類? 把?數(shù)據(jù)包裝類 管理 (?填充 ,?set 等 ) 后就直接放到里 insert , update , delete 方法中
???????? 填充可看看這個(gè),很有實(shí)用價(jià)值 ----> (?當(dāng) Form -> Bean? 或?Bean ->Bean ?) 例子很簡單但想法表明??
???????????????????????????????????????????????????????????????????????????
??????繼承 DBSelect 類 為 select? 這只是 把 Query 給出 簡單用法 是
??????????????????????????????????????????????????????Query?qu =???dao.getQueryBegin(? "?HQL?"?);
??????????????????????????????????????????????????????????????qu.add .....
??????????????????????????????????????????????????????List li = dao.getQuertyEnd(?qu?);
?????擴(kuò)展:? Criteria? cr , SQLQuery , 等等 把她包裝成 各個(gè) dao 中 不是 很 偷懶???? : )
Eg :??? ?extendsDBBasic 類












缺點(diǎn): 最好不要static?在一時(shí)間點(diǎn)上 此類不能支持多線程?
???????????????basicBegin? basicEnd ?方法 (?我找不到好的方法 要的話來個(gè) 連接池什么的 大家討論西西吧!!

?????????????? sess 為全局的 session 要是 寫成?baseicBegin 返回的話 感覺下面的還有很多要寫 什么 close 啊...
?????????????????????sess 也是缺點(diǎn)的所在? 當(dāng)然大家 有什么想法 改下 或自己來個(gè) 小包裝 我只是?

???
????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();
????????}
????}
????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();
????????}
????}
心得: 多包裝多快樂