以SqlMapClientBuilder类的buildSqlMapClient方法为初始化入口, 实例代码
String resource = "ibatis/SqlMapConfig.xml";
Reader reader = Resources.getResourceAsReader( resource );
SqlMapClient sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
1. 初始化全局配置(sqlMapConfig文件) 事务 DataSource等
2. sqlMap 文件初始化
类图

* 全局配置初始化时序图

以SqlMapConfigParser为核心主干 解析SqlMapConfig文件 解析后的值保存的到XmlParserState类中
同时也初始化了SqlMapClientImpl, SqlMapExecutorDelegate等核心类
* sqlMap文件初始化时序图
sql节点

parameterMap节点

resultMap节点

statement insert select等节点


sqlmap文件解析主要以SqlMapParser 为核心主干 解析完成后 最终会保存到SqlMapExecutorDelegate类 的 mappedStatements, cacheModels, resultMaps, parameterMaps 四个map集合中
IBatis SQLMap 初始化流程

本文介绍了使用SqlMapClientBuilder类的buildSqlMapClient方法进行IBatis框架的初始化过程。主要包括全局配置初始化(如事务DataSource等)及sqlMap文件初始化。通过解析SqlMapConfig文件并利用SqlMapConfigParser完成全局配置的初始化;而SqlMap文件初始化则通过SqlMapParser来完成,最终将解析结果存储在SqlMapExecutorDelegate类的四个map集合中。
191

被折叠的 条评论
为什么被折叠?



