MyBatis 源码分析笔记 初始化02 statement && 注解配置 && SqlNode
XMLStatementBuilder
MyBatis 加载注解配置
org.apache.ibatis.builder.annotation.MapperAnnotationBuilder
,Mapper 注解构造器,负责解析 Mapper 接口上的注解
SqlNode 初始化
MyBatis 中的 scripting
模块,会根据用户传入的实参,解析映射文件中定义的动态 SQL 节点,并形成数据库可执行的 SQL 语句。之后会处理 SQL 语句中的占位符,绑定用户传入的实参
org.apache.ibatis.scripting.xmltags.DynamicContext
,动态 SQL ,用于每次执行 SQL 操作时,记录动态 SQL 处理后的最终 SQL 字符串
org.apache.ibatis.scripting.xmltags.SqlNode
,SQL Node 接口,每个 XML Node 会解析成对应的 SQL Node 对象
org.apache.ibatis.mapping.SqlSource
,SQL 来源接口。它代表从 Mapper XML 或方法注解上,读取的一条 SQL 内容
org.apache.ibatis.builder.StaticSqlSource
,实现 SqlSource 接口,静态的 SqlSource 实现类
org.apache.ibatis.scripting.xmltags.DynamicSqlSource
,实现 SqlSource 接口,动态的 SqlSource 实现类