課程
/后端開發(fā)
/Java
/JDBC之 “ 對岸的女孩看過來”
Dao 層 能不能用靜態(tài)寫?這樣控制層 調用的時候就不用每次都要new 一個dao層了
2017-03-15
源自:JDBC之 “ 對岸的女孩看過來” 2-7
正在回答
DAO?采用靜態(tài)方法的話有好處,也有壞處。
做成靜態(tài)方法的話,完全把?DAO?想成一個工具類了。一般來說工具類是與具體的業(yè)務性質無關的,存放的是一些工具方法,在任何程序中都有可能用到的東西。做成靜態(tài)方法的話,讓業(yè)務層與?DAO?層完全耦合起來了,如果?DAO?在技術更新后需要采用其他的ORM?工具重新實現(xiàn)的話,這樣一來根本就不可能另外再實現(xiàn)一個?DAO?類,只能在原始的?DAO?類中更改,要么就需要更改業(yè)務類中的代碼,如果項目很大的話,這個工作量是非常驚人的。靜態(tài)?DAO?方法,在事務上下文中會存在問題,沒辦采用聲明式事務進行管理(比如:Spring?中或者是?EJB?中的),因為聲明式事務處理需要采用動態(tài)代理方式進行事務上下文的切入,由于不存在DAO?對象,因此也不存在代理對象,也沒辦法使用聲明式事務,只能手工處理。如果一個業(yè)務邏輯調用多個?DAO?方法的話,在這種事務上下文環(huán)境中,如果靠手工處理事務那會是非常繁鎖,而且將事務邏輯侵入到了業(yè)務層中。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?以上均轉載自 : http://bbs.csdn.net/topics/310103844
?????????????????????????????????????????????????????????強烈建議??!!有問題或者提問之前先去找度娘或者谷哥
舉報
一起領略JDBC的奧秘,為進一步學習集成框架打下良好的基礎
3 回答這個控制層就這點代碼,直接寫在dao層不是更方便?
1 回答關于視頻里出現(xiàn)的幾個靜態(tài)塊及靜態(tài)變量?
2 回答為什么我的Goddess類不能在Dao類里面實例化
2 回答為什么在這里要用一個靜態(tài)方法?
2 回答為什么不把DAO層的實例化對象寫在總的方法的外面 這樣不是可以少寫代碼嗎 不用每一次都去實例化對象
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-03-15
DAO?采用靜態(tài)方法的話有好處,也有壞處。
做成靜態(tài)方法的話,完全把?DAO?想成一個工具類了。一般來說工具類是與具體的業(yè)務性質無關的,
存放的是一些工具方法,在任何程序中都有可能用到的東西。
做成靜態(tài)方法的話,讓業(yè)務層與?DAO?層完全耦合起來了,如果?DAO?在技術更新后需要采用其他的
ORM?工具重新實現(xiàn)的話,這樣一來根本就不可能另外再實現(xiàn)一個?DAO?類,只能在原始的?DAO?類中
更改,要么就需要更改業(yè)務類中的代碼,如果項目很大的話,這個工作量是非常驚人的。
靜態(tài)?DAO?方法,在事務上下文中會存在問題,沒辦采用聲明式事務進行管理(比如:Spring?中或
者是?EJB?中的),因為聲明式事務處理需要采用動態(tài)代理方式進行事務上下文的切入,由于不存在
DAO?對象,因此也不存在代理對象,也沒辦法使用聲明式事務,只能手工處理。
如果一個業(yè)務邏輯調用多個?DAO?方法的話,在這種事務上下文環(huán)境中,如果靠手工處理事務那會是
非常繁鎖,而且將事務邏輯侵入到了業(yè)務層中。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?以上均轉載自 : http://bbs.csdn.net/topics/310103844
?????????????????????????????????????????????????????????強烈建議??!!有問題或者提問之前先去找度娘或者谷哥