日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MyBatis的几个重要概念和工作流程

發布時間:2024/1/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的几个重要概念和工作流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。