MyBatis最初的程式解讀 API

2022-08-04 23:15:21 字數 763 閱讀 8614

api詳解:

* 執行緒安全問題出現的條件

(1) 只有單例物件才可能出現執行緒安全問題

(2) 多執行緒環境,即多個執行緒會共享這個單例物件

(3) 單例物件中具有可修改的成員變數

1.sqlsession介面

sqlsession介面的實現類是:org.apache.ibatis.session.defaults.defaultsqlsession. 該物件是多例的.

2. sqlsessionfactory介面

sqlsessionfactory介面的實現類是: org.apache.ibatis.session.defaults.defaultsqlsessionfactory.

這個物件的作用就是為了建立sqlsession物件,而由於sqlsession物件是多例的,每建立一次sqlsession物件,都需要乙個

sqlsessionfactory物件去建立.但sqlsessionfactory物件是重量級元件,因為defaultsqlsessionfactory類中

不存在可能修改的成員變數,所以sqlsessionfactory物件可以定義為單例的,其生命週期與整個應用的相同.

3.sqlsessionfactorybuilder類

該類物件的作用僅僅就是為了建立sqlsessionfactory物件,由於sqlsessionfactory是單例物件,

sqlsessionfactorybuilder物件就可以定義為乙個區域性變數,sqlsessionfactory建立完畢,就可以銷毀了.

mybatis 解讀系列 配置解讀

介紹下專案情況 springboot專案 mybatis,先奉上啟動截圖,看看springboot啟動過程以及對mybatis配置的載入 截圖如下 我們可以看到 createbean register,getsingleton。這些事springbean的載入過程。而後我們能看到sqlsession...

mybatis原始碼解讀(3)

string resource mybatis config.xml inputstream inputstream resources.getresourceasstream resource sqlsessionfactory sqlsessionfactory new sqlsessionfa...

mybatis原始碼解讀(7)

private void typealiaseselement xnode parent else else catch classnotfoundexception e alias author type domain.blog.author alias blog type domain.blog...