回覆列表
-
1 # yes的練級攻略
-
2 # 孤鷹瞰天下
不可以!
資料庫連線池是需要例項化的,而在java中靜態方法是不能訪問非靜態物件的,這是其一,但不重要,重要的一點是,如果你想到辦法讓DAO中的方法都變成了靜態的,你就會失去對事務控制,因為事務肯定是基於例項的。
我估計題主提這個問題,應該是因為每個物件都對應著一類DAO操作,相對繁瑣,有這種想法是好的,但目前JAVA體系的架構在這裡擺著吧,暫時還掙脫不了這個束縛,有可能到了JAVA V20可能實現(純屬玩笑)。
好啦,這裡是TechStar,做過幾年的java開發,略知一二,有什麼說的不對的地方還請各位海涵~~~
首先static方法中只能使用類中的static靜態屬性變數,而你的Dao操作肯定要用到非靜態的屬性變數。
然後你用static你得保證你的connection同一時刻只有一個執行緒使用,也就是有執行緒安全問題。
其實你可以就用static去試試,你會發現會經常隨機的出現jdbc的錯誤,加深下印象哈哈