MyBatis與JDBC的比較
• java教程• 發佈:2018-10-08
Java程式都是通過JDBC(Java Data Base Connectivity)來訪問資料庫的。JDBC定義了一系列的介面規範,具體的實現是由各資料庫廠商去實現,是一種典型的橋接模式。
JDBC的工作量大:需要先註冊驅動和資料庫資訊、操作Connection、通過statement物件執行SQL,將結果返回給resultSet,然後從resultSet中讀取資料並轉換為pojo物件,最後需要關閉資料庫相關資源。
而且還需要自己對JDBC過程的異常進行捕捉和處理。
因為JDBC實在不好用,於是出現了ORM(物件關係對映Object relational Mapping)對Jdbc進行封裝。
MyBatis對JDBC的封裝很好,幾乎可以取代Jdbc。
MyBatis使用SqlSessionFactoryBuilder來連線完成JDBC需要程式碼完成的資料庫獲取和連線,減少了程式碼的重複。JDBC將SQL語句寫到程式碼裡,屬於硬編碼,非常不易維護,MyBatis可以將SQL程式碼寫入xml中,易於修改和維護。JDBC的resultSet需要使用者自己去讀取並生成對應的POJO,MyBatis的mapper會自動將執行後的結果對映到對應的Java物件中。
使用MyBatis的編碼風格統一優雅、效能高,靈活性好。