Mybatis源码阅读-配置文件及映射文件解析
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