MyBatis框架
- 一、簡介
- 二、MyBatis框架功能架構
- 2.1 MyBatis架構圖
- 2.2 MyBatis架構詳解說明
- 2.2.1 api介面層
- 2.2.2 資料處理層
- 2.2.3 基礎支撐層
- 2.3 MyBatis的作業流程
- 2.3.1 加載配置并初始化:
- 2.3.2 接受呼叫的請求:
- 2.3.3 處理操作請求:
- 2.3.4 回傳最終的處理結果
一、簡介
MyBatis框架是一個基于java的資料持久層框架,把物體類和sql陳述句之間建立了映射關系,是一種半自動化ORM實作,可以使用簡單的xml或注解配置和映射原生資訊,將介面和java的POJOs(Plain Ordinary Java Object,普通的java物件)映射成資料庫中的記錄,
注解:ORM物件映射關系,是一種資料持久化技術
- O: Object 物件===java里的物體類(物件)
- R: relation 關系===關系型資料庫(表)
- M: Mapping 映射===提供一種機制,實作映射
二、MyBatis框架功能架構
2.1 MyBatis架構圖

2.2 MyBatis架構詳解說明
2.2.1 api介面層
首先介面層核心物件是SqlSession,它是上層應用和MyBatis打交道的橋梁,Sqlsession中定義了非常多的對資料庫的操作方法,當介面在接收到呼叫請求的時候,會呼叫核心處理層的應用模塊來完成具體的資料庫操作,
2.2.2 資料處理層
跟資料庫操作相關的動作都是在這一層完成的,核心處理層主要做了這幾件事:
- 將介面中傳入的引數決議并映射成jdbc型別
- 決議xml檔案中的sql陳述句,包括插入引數和動態sql的生成
- 執行sql陳述句
- 處理結果集,并映射成java物件
2.2.3 基礎支撐層
基礎支撐層主要是一些抽取出來的通用的功能(實作復用)每日如資料源,快取、日志、xml決議、反射、io、事務等等這些功能
2.3 MyBatis的作業流程

2.3.1 加載配置并初始化:
首先在MyBatis啟動的時候我們要去決議組態檔,包括全域組態檔和映射器組態檔,全域組態檔里面包含了怎么控制MyBatis的行為,把他們決議成一個configuration物件,映射器組態檔包含了對資料下達的指令,也就是sql陳述句資訊,然后一個sql節點會被決議成一個MapperdStatement物件存盤在記憶體中,接下來就是操作資料庫的介面,代表和資料庫之間的一次連接,也就是SqlSession物件,想要獲得SqlSession就需要一個SqlSessionFactory
2.3.2 接受呼叫的請求:
接收sql的id和傳入的引數物件
2.3.3 處理操作請求:
根據SQL的Id查找對應的MappedStatement物件,根據傳入的引數物件決議MappedStatement,得到最終的sql和執行傳入引數,獲取資料庫連接,將已得到的sql和引數到資料庫執行,并得到結果,根據mappedStatment物件中的結果映射配置,對得到的執行結果進行轉換處理,并得到最終結果,釋放資源
2.3.4 回傳最終的處理結果
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/258695.html
標籤:其他
上一篇:大資料中篇03_Flume
