1. 程式人生 > >mybatis框架的架構(圖解)

mybatis框架的架構(圖解)

.com 編程 為我 全局配置 lse wid 框架 nfa src

技術分享圖片

1、 mybatis配置

  SqlMapConfig.xml,此文件作為mybatis的全局配置文件,配置了mybatis的運行環境等信息。

  mapper.xml文件即sql映射文件,文件中配置了操作數據庫的sql語句。此文件需要在SqlMapConfig.xml中加載。

  SqlMapConfig.xml是mybatis的核心文件。mybatis將dao層與sql語句分離開來,雖然寫的時候分離開來了,但是執行的時候還是要依靠sql語句,所以我們的sql語句寫在Mapper.xml中。我們在加載核心的時候,會加載他下面的Mapper.xml,所以sql語句便會加載進去了。我們只需要在SqlMapConfig.xml中引入Mapper.xml就可以了,所以最後只需要加載SqlMapConfig.xml這一個核心配置文件。

2、 通過mybatis環境等配置信息構造SqlSessionFactory即會話工廠。工廠能幫我們去加載核心配置文件。加載了核心配置文件後就創建session,通過session可以對數據庫進行操作。

3、 由會話工廠創建sqlSession即會話,操作數據庫需要通過sqlSession進行。

4、 mybatis底層自定義了Executor執行器接口操作數據庫,Executor接口有兩個實現,一個是基本執行器、一個是緩存執行器。Executor是執行者,我們不需要管,因為mybatis已經為我們封裝好了。mybatis直接執行sql語句。

5、 Mapped Statement也是mybatis

一個底層封裝對象,它包裝了mybatis配置信息及sql映射信息等。mapper.xml文件中一個sql對應一個Mapped Statement對象,sqlid即是Mapped statementid

6、 Mapped Statementsql執行輸入參數進行定義,包括HashMap、基本類型、pojoExecutor通過Mapped Statement在執行sql前將輸入的java對象映射至sql中,輸入參數映射就是jdbc編程中對preparedStatement設置參數。

7、 Mapped Statementsql執行輸出結果進行定義,包括HashMap、基本類型、pojo

Executor通過Mapped Statement在執行sql後將輸出結果映射至java對象中,輸出結果映射過程相當於jdbc編程中對結果的解析處理過程。

8、Mapped Statement是輸入與輸出中間過程中產生的一些對象,通過這些對象去訪問數據庫。

總結:

  工廠能幫我們去加載核心配置文件,同時創建會話,會話裏面有執行者,執行sql語句,在執行sql語句的過程中產生對象,通過Mapped Statement封裝成對象。執行sql語句就要需要輸入參數和輸出參數。

mybatis框架的架構(圖解)