首先列出英雄榜
1. JDBC直接訪問數據庫
2. EJB entity bean.
3. JDO技術。
4. 第三方O/R工具,如目前大紅大紫的Hibernate, 其它如Castor, Toplink.
先說說這個歷史最為悠久的JDBC吧。從Java誕生的那天起,這位仁兄就開始登上歷史舞臺了。Java能有今天這么風光,JDBC可以說是功不可末。一路走來,如今已是JDBC3.0了。在沒有JDBC的時候,訪問數據庫那是八仙過海,各顯神通,各家數據庫廠商都有自己的一套API, 苦就苦了開發人員了。換了個數據庫,那個程序要改是面目全非。JDBC規范的出臺,向世界宣告從此有了訪問關系數據庫的標準通用接口了。JDBC標準獲得了幾乎所有數據庫廠商的支持,好像還真難找到這么一個數據庫,它是沒有JDBC 支持的。JDBC規范一經發布,獲得了空前成功,很快成為java訪問數據庫的標準。JDBC的成功在于它的規范統一標準的接口,只需要掌握標準的SQL語言就可以訪問各種不同的數據庫了。這種數據庫間的可移植性和Java一直高喊的口號Compile Once, Run everywhere遙相呼應。JDBC今天還是java訪問數據庫的基石,CMP, JDO, Hibernate 說到底只是更好的封裝了JDBC, 提供了更為上層的更為強大的接口而已。然后說說JDBC直接訪問數據庫的方式來實現java 持久性。
這種方式相對于CMP來說比較簡單直接,特別是對于小型應用十分方便。比如,我要寫一個簡單的留言版程序,就沒有必要session bean ,entity bean ,又是home接口又是遠程接口,一層層調了吧。直接JDBC,寫SQL語句了事。和其它持久化技術相比,JDBC直接訪問數據庫的方式需要程序員操心的事情多了一些,你得自己關心transaction, 自己關心連接池,你得寫大量的get set方法,把SQL select出來的值一個一個塞到你的java object中,或者把java object的值一個一個給取出來,用SQL insert 到數據庫,完全手動進行O/R mapping。為了克服這些缺點,CMP, JDO等等開始陸續登上歷史舞臺。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/