这篇文章主要分析BaseExecutor的三个子类:SimpleExecutor、ReuseExecutor、BatchExecutor,涉及到StatementHandler的就不会再继续深入下去了,相信各位在读了《MyBatis(二)开始学习源码的切入点》之后,应该能知道这三个子类的方法是处于什么样的位置的,三个子执行器分别是什么Statement创建和执行策略
如果是开启二级缓存的情况下,就是query()->query()->queryFromDatabase()->doQuery(),本文要讲的就是带有do开头的方法,也就是三个子类中的方法,如果有不清楚的话,就先去看前面的文章吧
SimpleExecutor(简单执行器)
先从最简单的简单执行器开始
策略:每次执行SQL语句都会创建一个新的statement,没有复用statement
这里的SimpleExecutor可不是直接对应JDBC的Statement,而StatementHandler才是对应JDBC里的Statement
构造方法
public class SimpleExecutor extends