ibatis原始碼分析—配置檔案解析(1)
阿新 • • 發佈:2019-02-01
一、程式入口
1、目前專案中的ibatis是結合spring一起使用,採用spring的檔案配置。
<bean id="sqlMapClient"class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<propertyname="configLocation"value="classpath:/sql-map-config.xml"/>
<propertyname="dataSource"ref="dataSource"/>
</bean>
configLocation為ibatis配置檔案路徑,dataSource為資料來源。
二、解析用到的主要類介紹
1、NodeletParser——該類主要負責將XML檔案通過JAXP的方式轉為Document物件,並且遞迴逐層解析。
2、SqlMapConfigParser——該類主要負責解析ibatis的sqlmapconfig配置檔案。
3、SqlMapParser——該類主要負責解析ibatis的sqlmap檔案,對parameterMap,resultMap,sql等標籤主要解析。
4、SqlStatementParser——該類主要負責解析ibatis的sqlmap檔案,對insert、delete、update、select標籤主要解析。
5、BaseParser——SqlMapConfigParser、SqlMapParser、SqlStatementParser均繼承了此類,該類中的內部類Variables儲存了上述3個類 解析檔案後生成的物件。