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对象映射到数据库表,实现了对象和数据库之间的解耦。
作者其他创作
大纲/内容
数据源设计
顶级接口 DataSource
非池化数据源 UnpooledDataSource
非池化数据源工厂 UnpooledDataSourceFactory
池化数据源 PooledDataSource
池化数据源工厂 PooledDataSourceFactory
核心对象
存储型对象
Configuration
MappedStatement
操作型对象
SqlSession
Executor
StatementHandler
ParameterHandler
ResultSetHandler
TypeHandler
初始化阶段
XmlConfigBuilder
XmlMapperBuilder
XmlStatementBuilder
初始化流程(从左到右,从上到下)
初始化流程图
入口程序
SqlSessionFactoryBuilder#build
XMLConfigBuilder#parse
XMLConfigBuilder#parseConfiguration
XMLConfigBuilder#settingsAsProperties
XMLConfigBuilder#typeAliasesElement
XMLConfigBuilder#pluginElement
XMLConfigBuilder#environmentsElement
XMLConfigBuilder#typeHandlerElement
...
XMLConfigBuilder#mapperElement
XMLMapperBuilder#parse
XMLMapperBuilder#configurationElement
XMLMapperBuilder#cacheRefElement
XMLMapperBuilder#cacheElement
XMLMapperBuilder#parameterMapElement
XMLMapperBuilder#resultMapElements
XMLMapperBuilder#sqlElement
XMLMapperBuilder#buildStatementFromContext
XMLStatementBuilder#parseStatementNode
MapperBuilderAssistant#addMappedStatement
XMLMapperBuilder#bindMapperForNamespace
Configuration#addMapper
XMLMapperBuilder#parsePendingResultMaps
XMLMapperBuilder#parsePendingCacheRefs
XMLMapperBuilder#parsePendingStatements
Configuration#addMapper
SqlSessionFactoryBuilder#build
代理阶段
Configuration#addMappers
MapperRegistry
JDK 的动态代理 MapperProxyFactory
MapperProxy
MapperMethod
SqlCommand
MethodSignature
ParamNameResolver
收藏
0 条评论
下一页