【MyBatis】2:MyBatis簡介

連江偉發表於2016-07-29

        MyBatis是什麼?

        MyBatis原本是Apache的一個開源專案iBatis,2010年這個專案由ApacheSoftware Foundation遷移到了Google Code,並且改名為MyBatis,實質上,MyBatis是對iBatis進行的一個完善和升級版本。

        MyBatis是一個優秀的持久層框架,是Apache下的頂級專案。它對jdbc的運算元據庫的過程進行封裝,使開發者只需要關注 SQL 本身,而不需要花費精力去處理例如註冊驅動、建立connection、建立statement、手動設定引數、結果集檢索等jdbc繁雜的過程程式碼。

        Mybatis通過xml或註解的方式將要執行的各種statement(statement、preparedStatemnt、CallableStatement)配置起來,並通過java物件和statement中的sql進行對映生成最終執行的sql語句,最後由mybatis框架執行sql並將結果對映成java物件並返回。

        為了便於大家更好的認識和理解MyBatis框架,我從網上找了一張MyBatis架構圖,如下所示:


        我們把Mybatis的功能架構分為三層:

        (1)API介面層:提供給外部使用的介面API,開發人員通過這些本地API來操縱資料庫。介面層一接收到呼叫請求就會呼叫資料處理層來完成具體的資料處理。

        (2)資料處理層:負責具體的SQL查詢、SQL解析、SQL執行和執行結果對映處理等。它主要的目的是根據呼叫的請求完成一次資料庫操作。

        (3)基礎支撐層:負責最基礎的功能支撐,包括連線管理、事務管理、配置載入和快取處理,這些都是共用的東西,將他們抽取出來作為最基礎的元件。為上層的資料處理層提供最基礎的支撐。

         MyBatis怎麼用?

        瞭解了MyBatis的基本情況,我們就要著手去學習如何使用它了,首先我們從巨集觀上來看看使用MyBatis框架的。如下圖所示:


        從圖中我們可以清晰的看到使用MyBatis框架的流程和原理,仔細想想和Hibernate並沒有很大的區別,無非都是根據全域性配置檔案,來建立session工廠,然後由session工廠來建立具體的會話session,最後通過呼叫session裡面封裝好的各種方法完成資料庫操作,最後關閉session,釋放資源。其實,所有的ORM框架無非都是對JDBC的一個封裝,只有從整體上明白了框架的執行原理和內部機制,那麼使用起來將會非常的爽。下篇部落格,我們就開始使用MyBatis進行程式設計,並且分析MyBatis是如何解決上篇部落格中JDBC程式設計存在的問題的。

相關文章