MyBatis源码分析
2024-03-11 10:40:01 0 举报
AI智能生成
MyBatis是一款流行的Java开源持久层框架,它通过XML配置文件或注解来配置SQL语句和映射Java对象,从而简化了传统JDBC开发中的繁琐工作。核心内容方面,MyBatis提供了SQLSession对象来操作数据库,它是MyBatis的核心API。文件类型上,MyBatis主要使用XML和Java文件。修饰语方面,MyBatis采用了ORM(Object Relational Mapping)技术,将Java对象映射到数据库表,实现了对象和数据库之间的解耦。
作者其他创作
大纲/内容
非池化数据源 UnpooledDataSource
非池化数据源工厂 UnpooledDataSourceFactory
池化数据源 PooledDataSource
池化数据源工厂 PooledDataSourceFactory
顶级接口 DataSource
数据源设计
Configuration
MappedStatement
存储型对象
SqlSession
Executor
StatementHandler
ParameterHandler
ResultSetHandler
TypeHandler
操作型对象
核心对象
XmlConfigBuilder
XmlMapperBuilder
XmlStatementBuilder
初始化流程图
入口程序
SqlSessionFactoryBuilder#build
XMLConfigBuilder#settingsAsProperties
XMLConfigBuilder#typeAliasesElement
XMLConfigBuilder#pluginElement
XMLConfigBuilder#environmentsElement
XMLConfigBuilder#typeHandlerElement
...
XMLMapperBuilder#cacheRefElement
XMLMapperBuilder#cacheElement
XMLMapperBuilder#parameterMapElement
XMLMapperBuilder#resultMapElements
XMLMapperBuilder#sqlElement
MapperBuilderAssistant#addMappedStatement
XMLStatementBuilder#parseStatementNode
XMLMapperBuilder#buildStatementFromContext
XMLMapperBuilder#configurationElement
Configuration#addMapper
XMLMapperBuilder#bindMapperForNamespace
XMLMapperBuilder#parsePendingResultMaps
XMLMapperBuilder#parsePendingCacheRefs
XMLMapperBuilder#parsePendingStatements
XMLMapperBuilder#parse
XMLConfigBuilder#mapperElement
XMLConfigBuilder#parseConfiguration
XMLConfigBuilder#parse
初始化流程(从左到右,从上到下)
初始化阶段
三个类共同完成全局配置文件的加载解析,来构建 Configuration 配置对象。这三个类都借鉴了建造者模式的思想。
Configuration#addMappers
SqlCommand
ParamNameResolver
MethodSignature
MapperMethod
MapperProxy
JDK 的动态代理 MapperProxyFactory
MapperRegistry
代理阶段
MyBatis源码分析
收藏
0 条评论
下一页