目录
1说明
1、 1;
1、 2;
1、 3;
2原理总结
2、 1总结的文字描述;
2、 2介绍下MyBatis的四大对象;
2、 3图文介绍;
3分步介绍各个流程
3、 1根据配置文件创建SQLSessionFactory;
3、 2、返回SqlSession的实现类DefaultSqlSession对象他里面包含了Executor和Configuration;Executor会在这一步被创建;
3、 3、getMapper返回接口的代理对象包含了SqlSession对象;
3、 4、查询流程;
1说明
1.1
本文主要是整合了http://www.gulixueyuan.com/my/course/43整合了任务71-78课程的内容,如需更加详细的了解可直接观看视频。
1.2
本文是基于MyBatis的HelloWorld代码进行研究的。代码来自MyBatis总结(二)--helloworld。研究任何框架都建议先从HelloWorld开始研究源码。其次本文内容只是文字叙说,如果需要亲自实践,可以打断点并按照本文总结的内容一一对应着断点跟着走。
1.3
本文研究路线分四步如下图:
2原理总结
2.1总结的文字描述
调用DefaultSqlSession的增删改查(Executor);然后会创建一个StatementHandler对象。(同时也会创建出ParameterHandler和 ResultSetHandler)
再调用StatementHandler预编译参数以及设置参数值;并且使用ParameterHandler来给sql设置参数
这时才开始调用StatementHandler的增删改查方法;ResultSetHandler封装结果
注意: 四大对象每个创建的时候都有一个interceptorChain.pluginAll(parameterHandler);
2.2介绍下MyBatis的四大对象
Executor:实际上调用的就是StatementHandler
StatementHandler:处理sql语句预编译,设置参数等相关工作;
ParameterHandler:设置预编译参数用的
ResultHandler:处理结果集
2.3图文介绍
3分步介绍各个流程
3.1根据配置文件创建SQLSessionFactory
3.2、返回SqlSession的实现类DefaultSqlSession对象。 他里面包含了Executor和Configuration; Executor会在这一步被创建
3.3、getMapper返回接口的代理对象 包含了SqlSession对象
3.4、查询流程
版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: