一、Mybatis四大组件
二、SqlSession四大对象
这里阐述一下上图的流程
Exeutor发起sql执行任务
1、先调用statementHandler中的prepare()进行SQL的编译
2、然后调用statementHandler中的parameterize()设置参数
2.1、这里其实真正设置参数的是ParameterHandler中的setparameters()方法,该方法与typeHandler进行参数类型的转换
3、然后执行query/update方法,这里使用ResultSetHandler进行结果的组装工作
3.1、这里ResultSetHandler又与typeHandler、ObjectFactory配合工作共同完成结果的组装工作
statementHandler
三、映射器三大组成部分
其实mybatis中一条SQL和它相关的配置信息由三部分组成
MappedStatement:sql的ID、缓存信息、resultType、ParameterType、resultMap等信息
Sqlsource:是MappedStatement的一个属性,是一个接口,主要提供BoundSql
BoudSql:是建立SQL和参数的地方,有三个主要属性,ParameterMappings、ParameterObject和sql,这个对象比较重要,我们通常使用插件就是对它进行拦截;
总结:
- Mybatis四大组件构成mybatis的整个生命周期;
- sqlSession四大对象,描述SQL执行的流程;
- 映射器组成部门,描述最底层SQL执行的细节;