mybatis源码解析
架构图

流程图

配置读取
SqlSessionFactoryBuilder
通过SqlSessionFactoryBuilder读取配置文件生成SqlSessionFactory
1 | public SqlSessionFactory build(Reader reader, String environment, Properties properties) { |
mapper.xml文件解析
XMLMapperBuilder
1 | public void parse() { |
sql解析
SqlSouce
根据xml文件或映射语句解析成sql
实现类

RawSqlSouce
负责处理静态sql,并将封装好的sql封装为StaticSqlSource返回
StaticSqlSource
处理静态sql可能含有”?”占位符,可以被数据直接执行
ProviderSqlSouce
处理方法上含有”@ProviderXXX”注解的sqlSource实现类
DynamicSqlSource
负责处理动态sql
sql执行
Executor
sql执行器
StatementHandler
最终由该组件负责sql执行
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ting-个人博客!