更新時間:2022-05-10 10:26:10 來源:動力節點 瀏覽1864次
mybatis應用程序通過SqlSessionFactoryBuilder從mybatis-config.xml配置文件(也可以用Java文件配置的方式,需要添加@Configuration)來構建SqlSessionFactory(SqlSessionFactory是線程安全的);
然后,SqlSessionFactory的實例直接開啟一個SqlSession,再通過SqlSession實例獲得Mapper對象并運行Mapper映射的SQL語句,完成對數據庫的CRUD和事務提交,之后關閉SqlSession。
說明:SqlSession是單線程對象,因為它是非線程安全的,是持久化操作的獨享對象,類似jdbc中的Connection,底層就封裝了jdbc連接。
1.讀取MyBatis的配置文件:mybatis-config.xml由MyBatis的全局配置文件進行,配置了MyBatis的運行環境等信息,比如數據庫連接信息。
2.加載映射文件。映射文件是SQL映射文件,這個文件是配置操作數據庫SQL語句的,需要在MyBatis的配置文件mybatis- config.xml中加載,在.mybatis-config.xml文件中可以添加加載多個映射文件, 每個文件對應數據庫中的一個表。
3.構建會話工廠:采用 MyBatis 構建會話工廠,配置環境 SqlSessionFactory等信息 。
4.創建會話對象:由會話工廠創建的 SqlSession 對象,這個對象包含了執行 SQL Statement的方法。
5.Executor執行 器: MyBatis 底層定義了一個 Executor 接口來操作數據庫,它會根據 SqlSession 傳遞的參數動態生成需要執行的 SQL語句,同時負責查詢緩存的維護。
6.MappedStatement 對象:在 Executor 接口有一個執行方法 MappedStatement 類型的參數,該參數封裝了映射信息,用于Store映射SQL 的語句 id 、參數信息。
7.輸入參數映射:輸入參數類型可以是 Map 、 List 等,也可以是基本數據類型和 POJO 類型。輸入參數映射過程類似于 JDBC 是preparedStatement 對象的參數設置過程。
8.輸出結果映射:輸出結果類型可以是 Map 、 List 等,也可以是基本數據類型和 POJO 類型。輸出映射過程類似于 JDBC 解析結果集的過程。
以上就是關于“MyBatis運行原理”的介紹,大家如果想了解更多相關知識,可以關注一下動力節點的Mybatis視頻教程,里面的課程內容由淺到深,通俗易懂,適合小白學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習