Mybatis详细的执行流程

Posted Vlats

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis详细的执行流程相关的知识,希望对你有一定的参考价值。

Mybatis详细的执行流程

技术图片

  1. SqlSessionFactoryBuilder通过构造器build调用build构造方法
    技术图片

  2. build构造方法调用XMLConfigBuilder这个类解析了(inputStream, environment, properties)
    技术图片

  3. 解析完后传给Configuration这个对象(Configuration中包含了所有的配置内容)
    技术图片

  4. 之后SqlSessionFactory实例化,获取sqlSession(事务在这一层去做,相当于原来的Connection)
    技术图片

  5. sqlSession里面有一个executor执行器,executor执行mapper,mapper通过反射加载出类的所有信息,包括了sqlSession,sqlSession中又有缓存executor执行器(executor把自己套进去了),套进去后开始执行sql语句,sql从配置文件中读取.
    成功执行sql语句提交事务,失败回滚.

    技术图片

对第5步做一些简单的解释: sqlSession中包括了运行一个sql语句所需的条件,包括事务,执行器,加载器等.但就是没有sql语句,于是通过反射获取到了接口以及接口下类的所有信息,就有了sql语句,mapper只是放这所有信息的变量 . 于是有条件又有语句就可以执行sql语句了.
技术图片







以上是关于Mybatis详细的执行流程的主要内容,如果未能解决你的问题,请参考以下文章

源码学习之MyBatis的底层查询原理

Mybatis

Mybatis

mybatis执行流程

mybatis执行流程

图文并茂源码解析MyBatis Sharding-Jdbc SQL语句执行流程详解