mybatis框架的架構(圖解)


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、基本類型、pojoExecutor通過Mapped Statement在執行sql后將輸出結果映射至java對象中,輸出結果映射過程相當於jdbc編程中對結果的解析處理過程。

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

總結:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM