MyBatis的執行過程:
(1)讀取MyBatis配置文件mybatis-config.xml
(2)加載映射文件
(3)構建會話工廠SqlSessionFactory
(4)創建SqlSession對象
(5)創建Executor接口的實例。
MyBatis底層定義了一個Executor接口來操作數據庫,可以根據SqlSession傳遞的參數動態生成需要執行的SQL語句,同時負責查詢緩存的維護。
MyBatis給Executor接口提供了多個實現類。
(6)創建MappedStatement對象
Executor接口操作數據庫的方法中都有一個MappedStatement類型的參數,此參數封裝了映射信息,一個SQL元素對應一個MappedStatement對象,SQL元素的id就是MappedStatement的id。
(7)輸入參數映射
將輸入的參數(基本類型、POJO類型、List類型、Map類型)映射到SQL語句中。
(8)輸出結果映射
將結果集映射到指定的數據類型(基本類型、POJO類型、List、Map)。