Mybatis源码分析:
1.配置文件解析:
1.1源码阅读入口: org.apache.ibatis.builder.xml.XMLConfigBuilder.parse();
功能:解析全局配置文件,调用 parse.evalNode() 方法,将指定路径的config配置文件转换为 XNode 对象,然后调用 parseConfiguration() 方法逐步解析配置文件中的各个节点;
1.2 mapperElement():解析mappers标签,解析过程中就是对映射文件的解析过程
2. Mapper映射文件解析:
2.1 org.apache.ibatis.builder.xmlXMLMapperBuilder.parse()解析mapper映射文件;
2.2 解析mapper映射文件: org.apache.ibatis.builder.xmlXMLMapperBuilder.configurationElement()解析mapper映射文件;
包含请求对象(parameterMapElement()),返回结果集(resultMapElements()),SQL片段(sqlElement()), select|insert|update|delete子标签(buildStatementFromContext())
3. select|insert|update|delete子标签
3.1 解析select等4个标签,创建MappedStatement对象
3.2 解析sql标签中的入参,出参,操作类型,SQL语句,创建MappedStatement
原文 http://www.cnblogs.com/ZnCl/p/11519308.html