org.apache.ibatis.builder.xml.XMLStatementBuilder#parseStatementNode
1.获得节点名称:select|insert|update|delete
2. 判断是不是select语句节点
3.解析我们sql节点的参数类型parameterType
4.构建一个对象
MappedStatement.Builder statementBuilder,这里属于设计者模式,mybatis使用了大量该模式
5.解析核心sql
org.apache.ibatis.scripting.xmltags.XMLLanguageDriver#createSqlSource(org.apache.ibatis.session.Configuration, org.apache.ibatis.parsing.XNode, java.lang.Class<?>)
包括staticTextSql,WhereSqlNode,IfSqlNode
递归解析-组合设计模式,分别解析解析${} 和 动态节点where,if,静态节点等。