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...