傳統JDBC的弊端 jdbc(java data base connectivity)是SUN公司(Oracle公司)提出的一系列規范,用于java程序連接數據庫,定義了接口規范,具體實現由各家數據庫廠商去實現。 jdbc連接數據庫的步驟大致為:注冊驅動,創建連接創建Connection,操作Connection對象建立statement對象,利用statement對象執行sql語句,獲取返回值ResultSet對象,轉換成POJO類,關閉數據庫相關資源。 缺點: 工作量巨大,我們要創建連接,處理jdbc底層事務,處理數據類型,操作Connection、Statement和ResultSet對象去獲取數據,并準確的關閉他們。對jdbc的異常進行捕獲并關閉對應的資源,簡單的sql已經如此復雜,更何況復雜的sql。
ORM模型的產生 由于jdbc存在的缺點,因此ORM(Object relational mapping)對象關系型映射應運而生。 ORM將數據庫表和java對象POJO(plain ordinary java object)映射,我們可以把數據庫表映射成pojo,通過操作pojo來操作數據庫表。 有了ORM,程序員只需了解java應用,無需對數據庫相關知識深入了解,便能寫出通俗易懂的程序
Hibernate框架 在配置映射文件和數據庫連接文件后,hibernate可以通過session接口操作數據庫表的增刪改查,消除了jdbc的大量代碼,提高編程的簡易性和可讀性。還提供了,級聯、緩存、映射、一對多等功能。hibernate是全表映射可以通過HQL操作POJO而操作數據庫。 缺點:無法適應存儲過程,由于hibernate屏蔽了sql,我們對于很復雜的多表關聯很難適應。如果我們需要優化sql,hibernate無法做到。全表映射帶來的不便。
MyBatis框架 半自動映射。MyBatis包含:SQL,映射規則,POJO。提供了簡易的緩存,級聯,日志。 缺點:開發量比hibernate高,需要提供映射規則和sql。
新聞熱點
疑難解答