MyBatis的几个重要概念和工作流程
生活随笔
收集整理的這篇文章主要介紹了
MyBatis的几个重要概念和工作流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MyBatis 幾個重要的概念
- Mapper 配置:?Mapper 配置可以使用基于 XML 的 Mapper 配置文件來實現,也可以使用基于 Java 注解的 MyBatis 注解來實現,甚至可以直接使用 MyBatis 提供的 API 來實現。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
- Mapper 接口:?Mapper 接口是指自行定義的一個數據操做接口,類似于通常所說的 DAO 接口。早期的 Mapper 接口需要自定義去實現,現在 MyBatis 會自動為 Mapper 接口創建動態代理對象。Mapper 接口的方法通常與 Mapper 配置文件中的 select、insert、update、delete 等 XML 結點存在一一對應關系。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
- Executor:?MyBatis 中所有的 Mapper 語句的執行都是通過 Executor 進行的,Executor 是 MyBatis 的一個核心接口。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
- SqlSession:?SqlSession 是 MyBatis 的關鍵對象,是執行持久化操作的獨享,類似于 JDBC 中的 Connection,SqlSession 對象完全包含以數據庫為背景的所有執行 SQL 操作的方法,它的底層封裝了 JDBC 連接,可以用 SqlSession 實例來直接執行被映射的 SQL 語句。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
- SqlSessionFactory:?SqlSessionFactory 是 MyBatis 的關鍵對象,它是單個數據庫映射關系經過編譯后的內存鏡像。SqlSessionFactory 對象的實例可以通過 SqlSessionFactoryBuilder 對象類獲得,而 SqlSessionFactoryBuilder 則可以從 XML 配置文件或一個預先定制的 Configuration 的實例構建出。
MyBatis 的工作流程
? ? ? ? ? ? ? ? ? ?
1、首先加載 Mapper 配置的 SQL 映射文件,或者是注解的相關 SQL 內容。
2、創建會話工廠,MyBatis 通過讀取配置文件的信息來構造出會話工廠(SqlSessionFactory)。
3、創建會話。根據會話工廠,MyBatis 就可以通過它來創建會話對象(SqlSession)。會話對象是一個接口,該接口中包含了對數據庫操作的增刪改查方法。
4、創建執行器。因為會話對象本身不能直接操作數據庫,所以它使用了一個叫做數據庫執行器(Executor)的接口來幫它執行操作。
5、封裝 SQL 對象。在這一步,執行器將待處理的 SQL 信息封裝到一個對象中(MappedStatement),該對象包括 SQL 語句、輸入參數映射信息(Java 簡單類型、HashMap 或 POJO)和輸出結果映射信息(Java 簡單類型、HashMap 或 POJO)。
6、操作數據庫。擁有了執行器和 SQL 信息封裝對象就使用它們訪問數據庫了,最后再返回操作結果,結束流程。
?
?
2018-08-11??13:55:43
轉載于:https://www.cnblogs.com/gxc6/p/9459593.html
總結
以上是生活随笔為你收集整理的MyBatis的几个重要概念和工作流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 审计系统---堡垒机python下ssh
- 下一篇: 2-4 测试案例helloWorld