Mybatis的底層原理分析

2021-10-21 19:51:02 字數 1055 閱讀 5468

在分析底層原理之前,先看單獨使用mybatis時的執行流程:

public

class

mybatistest

//6.釋放資源

sqlsession.close ();

is.close ();

}}

以下是我通過debug除錯得到的結果:

拋開我們使用mybatis時這幾步執行流程來說,在mybatis底層最重要的兩個物件就是configurationtransaction

configuration是mybatis配置物件,它是用來儲存從xml配置檔案中解析得到的所有資料,它裡面有非常重要的三個屬性:

transaction是mybatis的事務管理物件,如果在配置檔案中配置了事務管理,那麼由同乙個sqlsession建立的**物件,在執行crud操作時每次獲取到的connection將會是同乙個,屬性如下:

這兩個物件建立的時機:

configuration物件在建立sqlsessionfactorybuild時進行建立,transaction物件在建立sqlsession時建立,並且transaction中包含有configuration物件,不同的sqlsession它的transaction也不相同,但是configuration物件是同乙個。

MyBatis原理分析

參考部落格 深入理解mybatis原理 一 jdbc的工作流程 載入資料庫的驅動程式 建立資料連線物件 建立statement物件 執行sql語句 處理返回結果集 關閉資料庫連線 二 mybatis和資料庫互動的方式 1 使用傳統的mybatis提供的api 此方式建立乙個sqlsession物件,...

MyBatis原理分析

參考部落格 深入理解mybatis原理 一 jdbc的工作流程 載入資料庫的驅動程式 建立資料連線物件 建立statement物件 執行sql語句 處理返回結果集 關閉資料庫連線 二 mybatis和資料庫互動的方式 1 使用傳統的mybatis提供的api 此方式建立乙個sqlsession物件,...

class底層原理分析

class 類名 會把類構造出來 實際上是 元類例項化產生類 這個物件 類例項化產生物件,一定是 類名 person 類是由type例項化產生,傳一堆引數 type 呼叫類的 init 方法 type type object or name,bases,dict object or name 類的名...