当前位置: 首页 > 网络应用技术

Mybatis源代码分析03:执行器

时间:2023-03-07 16:22:01 网络应用技术

  注意:此系列源代码分析基于Mybatis 3.5.6,源代码的源代码,源代码仓库地址:Funcy/Mybatis。

  SQL声明的运作由执行器()完成,中国有三种类型:

  重复使用执行器的缓存,可以将相同的重复使用重复使用下一个执行中的执行器到局部区域,并触发程序的修改或在批处理中执行下一个查询。这实际上是上述三个执行器的装饰,以处理与缓存相关的操作。实际工作是以上三个执行器之一。

  持续结构如下:

  实施的基本操作,例如:

  当我们关注实施该类别现实的实施时。

  它将为每个执行生成,并且在执行后将关闭。

  获得的方法是:

  该方法首先获得数据库连接,然后获得,然后处理参数设置。

  关于获取数据库连接,分析配置文件的分析时,数据源的配置最终将转换为或对象。数据库连接来自数据源。

  至于一代,实例化操作方法是这些是常规的JDBC操作,您不会仔细看一下。

  处理SQL的执行方法是:

  执行过程如下:

  该操作是常规的JDBC操作。

  可以缓存,下次可以执行相同的重复使用。

  我们仍然分析该方法:

  与之相比,该方法未关闭。让我们看一下操作:

  可以看出,在获得时,将从缓存获得。缓存中不会有新的,然后将新构建的添加到缓存中。从这里可以看到重复使用。

  让我们看一下缓冲结构:

  可以看出,缓存之一是句子。

  修改操作将在本地记录,等待程序触发或下一个查询以分批执行修改操作,也就是说:

  从上述角度来看,似乎有一个大坑,列表列出如下:

  让我们看一下更新操作并输入该方法:

  一些成员变量将记录最后的执行。如果执行与上次执行相同,则使用上次使用,否则将创建新的连接和采集。

  获得该方法后,该方法将被调用:

  此方法未执行,但保留了呼叫方法。

  如何使用?简单地指出:

  该方法不执行SQL语句。让我们看一下方法:

  该方法将首先调用,然后处理查询操作。整个过程基本上是相同的,也就是说,“获取数据库连接添加处理查询关闭”和其他步骤。我们关注该方法的过程。

  最终调用是方法,代码如下:

  该方法的关键代码是,其中更新操作分批执行。

  从上面的分析可以看出,该方法不会执行SQL语句,而只是将SQL语句转换为caches。执行该方法时,它将首先执行缓存,然后执行查询操作。当然,您可以手动调用该方法执行缓存。

  与以上三种执行器不同,它是一个装饰类,可以从缓存中获取数据。实际工作是以上三个执行者之一:

  从代码来看,它是一个子类,其中一个是成员变量,其类型被输入。换句话说,当创建时,将引入以上三个执行器之一,并将保存到成员变量中。

  该方法如下:

  从代码的角度来看,在处理查询时,将从缓存中获得。当缓存中没有存在时,执行特定执行器的方法将被执行。

  本文中的原始链接:https://my.oschina.net/funcy/blog/4952948,仅限于作者的个人级别,文章中有不可避免的事情,欢迎使用CROCKE!请与作者联系以获取业务重印。请指示非商业重印的来源。

  原始:https://juejin.cn/post/7102811474061590564