本文簡(jiǎn)單介紹mybatis(基于3.4.2版本)的幾個(gè)核心組件纫版,為下面的源碼解析打下基礎(chǔ)
本章要點(diǎn)
- SqlSource及其作用
- SqlNode及其作用
- Executor及其作用
- StatementHandler及其作用
- ParameterHandler及其作用
- ResultSetHandler及其作用
- DataSourceFactory及其作用
1床绪、SqlSource及其作用
SqlSource主要有StaticSqlSource、RawSqlSource其弊、RawSqlSource癞己、ProviderSqlSource,如下圖:
其作用是封裝sql并接受參數(shù)
2瑞凑、SqlNode及其作用
SqlNode有很多種子類(lèi):IfSqlNode末秃、StaticTextSqlNode等,如下圖:
每一個(gè)子類(lèi)對(duì)應(yīng)于mybatis的xml的一個(gè)標(biāo)簽籽御,用來(lái)封裝各種標(biāo)簽的sql片段。
3惰匙、Executor
sql執(zhí)行器主要左右是執(zhí)行sql技掏,具體子類(lèi)如下圖:
4、 StatementHandler及其作用
對(duì)statement的封裝與sql的執(zhí)行
5项鬼、ParameterHandler及其作用
主要是對(duì)參數(shù)的處理
6哑梳、ResultSetHandler及其作用
6、DataSourceFactory及其作用
7绘盟、NodeHandler
不同的NodeHandler處理不同的標(biāo)簽