mybatis 四大组件
一、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
执行器Executor,执行器负责整个SQL执行过程的总体控制。
语句处理器StatementHandler,语句处理器负责和JDBC层具体交互,包括prepare语句,执行语句,以及调用ParameterHandler.parameterize()设置参数。
参数处理器ParameterHandler,参数处理器负责PreparedStatement入参的具体设置。
结果集处理器ResultSetHandler,结果处理器负责将JDBC查询结果映射到java对象。
————————————————
版权声明:本文为CSDN博主「周星猩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hong10086/article/details/96879604
三、映射器三大组成部分
其实mybatis中一条SQL和它相关的配置信息由三部分组成
MappedStatement:sql的ID、缓存信息、resultType、ParameterType、resultMap等信息
Sqlsource:是MappedStatement的一个属性,是一个接口,主要提供BoundSql
BoudSql:是建立SQL和参数的地方,有三个主要属性,ParameterMappings、ParameterObject和sql,这个对象比较重要,我们通常使用插件就是对它进行拦截;
总结:
- Mybatis四大组件构成mybatis的整个生命周期;
- sqlSession四大对象,描述SQL执行的流程;
- 映射器组成部门,描述最底层SQL执行的细节;