一、标题解析xml 的三大对象:XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder
- XMLConfigBuilder 会把mybatis-config.xml所有元素进行解析。
- 当碰到
mappers
时,会进行遍历。mappers
中有几个mapper,就会创建几个XMLMapperBuilder 去进行解析。(当mapper解析完后还会再重新解析,因为标签加载先后的顺序的原因:、继承的其他resultMap、CacheRef节点,而解析失败的这些statement) - 在解析 XMLMapperBuilder 时,会被解析成 ResultMap 对象。中的所有元素会被解析成ResultMapping对象。
- 在解析 XMLMapperBuilder 时,
select|insert|update|delete
标签,会创建XMLStatementBuilder去解析。有几个这种标签,就会创建几个 XMLStatementBuilder对象。 - 加载的所有xml的所有元素最后都会放到 configuration对象中。
二、Configuration的一些重要属性
图片来自 享学课堂
三、resultMap 图解
图片来自 享学课堂
四、mappedStatement图解
图片来自 享学课堂