MyBatis原始碼探索

2022-08-26 10:18:11 字數 1267 閱讀 6828

每個基於 mybatis 的應用都是以乙個 sqlsessionfactory 的例項為中心的。sqlsessionfactory 的例項可以通過 sqlsessionfactorybuilder 獲得。而 sqlsessionfactorybuilder 則可以從 xml (mybatis-config.xml) 配置檔案或乙個預先定製的 configuration 的例項構建出 sqlsessionfactory 的例項。

類圖

其中sqlsession是比較重要的介面,提供基本的方法,比如:sql語句、事務等操作;

1

@override

2public

listselectlist(string statement, object parameter, rowbounds rowbounds) catch

(exception e) finally

11 }

1

//是否需要重新整理快取

2if (querystack == 0 &&ms.isflushcacherequired())

5 listlist;

6try

else

16 } finally

1

private

sqlexception finally9//

把查詢結果放入快取後返回結果list

10localcache.putobject(key, list);

11if (ms.getstatementtype() ==statementtype.callable)

14return

list;

15 }

1

@override

2public

sqlexception finally

14 }

1

@override

2public

listquery(statement statement, resulthandler resulthandler) throws

sqlexception

參考文件

mybatis官方文件

react原始碼探索

react核心部分為 1 虛擬dom物件 reactdom.render args,element 這個方法第乙個引數接收三種形式的內容的 第一種 字串 第二種 由createclass建立的物件,使用createelement處理 第三種 直接有createelement建立的物件 這些還未呼叫r...

Mybatis 原始碼分析

mybatis解析 2 sqlsessionfactorybean 繼承了 initializingbean 介面,在bean解析的finishbeanfactoryinitialization 的方法對 initializingbean介面中的 afterpropertiesset 方法進行呼叫,...

mybatis原始碼解析

最近閱讀了許久的mybatis原始碼,小有所悟。同時也發現網上有許多優秀的mybatis原始碼講解博文。本人打算把自己閱讀過的 覺得不錯的一些博文列出來。以此進一步加深對mybatis框架的理解。其實還有乙個目的是,本人也想寫一系列博文來分享自己對mybatis的理解。然而。個人文筆太差,列出的這些...