mybatis的源码流程图

mybatis 的执行流程如下:

1.首先通过 Java API 或者 XML 配置完成初始化,最终所有的配置都在 Configuration 类中维护;
2.然后通过 SqlSessionFactory 得到 SqlSession,这里 SqlSession 就是 mybatis 的顶层 API 了,主要通过他完成数据库的增删改查等操作;
3.然后 SqlSession 将具体的操作委托给 Executor 执行,Executor 就是 mybatis 的调度核心了,主要职责有 SQL 语句生成、一二级缓存维护和事务的相关操作;
4.然后 Executor 将数据库相关的操作委托给 StatementHandler,StatementHandler 中完成了 mybatis 最核心的工作,包括参数绑定,指定 SQL 语句,结果集映射等;

mybatis的源码流程图+解释说明mybatis的源码流程图+解释说明

mybatis的源码流程图+解释说明
下面是源码流程
1mybatis的源码流程图+解释说明

  1. 先调Resources的getResourceAsStream方法,传入mybatis-config.xml文件

  2. 然后调用getResuorceAsStream(ClassLoader loader,String resource)方法

  3. 这个方法里面再调用classLoaderWrapper中的getResourceAsStream(String resource, ClassLoader classLoader)方法

  4. 方法里面再调用了本类中的getResourceAsStream(String resource, ClassLoader[ ] classLoader)方法
    mybatis的源码流程图+解释说明

– 1.创建SqlSessionFactoryBuilder对象
– 2.调用本类带三个参数的重载的build(InputStream inputStream, String environment, Properties properties)方法。
–3通过Xpath解析的方式去解析mybatis-config.xml 文件将配置文件的信息解析并保存在Configuration对象中

mybatis的源码流程图+解释说明

–1先调用openSession()方法。
–2再调用openSessionFromDataSource(ExecutorType execType, TransactionIsolationLevel level, boolean autoCommit)方法
–3创建事务,通过environment构建出transactionFactory事务工厂
–4newExecutor(),根据Executor在全局配置中的类型,创建出对应的执行器
–5通过Executor、事务自动提交以及配置文件对象(Configuration)返回 DefaultSqlSession对象
mybatis的源码流程图+解释说明
4.获取mapper
mybatis的源码流程图+解释说明

相关文章:

  • 2021-10-15
  • 2021-11-26
  • 2022-12-23
  • 2021-06-05
  • 2022-01-07
  • 2021-05-30
  • 2021-11-26
  • 2021-05-05
猜你喜欢
  • 2021-10-04
  • 2021-10-27
  • 2021-12-14
  • 2021-12-14
  • 2021-04-29
  • 2022-12-23
  • 2021-04-25
相关资源
相似解决方案