架构图
mybatis的架构图如下
我们可以看到,其实mybatis的主流程就一条,
参数映射 => sql解析 => sql执行 => 结果映射
架构流程图
调用流程图
Mybatis重要组件
Executor,StatementHandler,ParameterHandler,ResultSetHandler被称为Mybatis的四大组件。
XMLConfigParser
加载全局配置信息和sql信息,然后封装到configuration对象中
SqlSessionFactory
SqlSession
接收开发人员提供Statement Id 和参数.并返回操作结果,一次CRUD操作对应一个SqlSession会话
Executor
MyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护
StatementHandler
封装了JDBC Statement操作,负责对JDBC statement 的操作,如设置参数、将
Statement结果集转换成List集合。
ParameterHandler
负责对用户传递的参数转换成JDBC Statement 所需要的参数
ResultSetHandler
负责将JDBC返回的ResultSet结果集对象转换成List类型的集合
TypeHandler
MappedStatement
维护了一条
SqlSource
负责根据用户传递的parameterObject,动态地生成SQL语句,将信息封装到
BoundSql对象中,并返回BoundSql表示动态生成的SQL语句以及相应的参数信息
Configuration
MyBatis所有的配置信息都维持在Configuration对象之中