MyBatis总结(三十)--MyBatis_运行原理总结

目录

 

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、查询流程

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值