Mybatis执行器
Mybatis有三种执行器
SimpleExecutor(ExecutorType.SIMPLE.默认):在批量执行update或select的SQL语句时,每执行一次接口方法都会创建一个statement对象,创建执行后销毁,性能差,执行效率低。------对每条sql进行预编译->设置参数->执行等操作
ReuseExecutor(ExecutorType.REUSE):在批量执行update或select的SQL语句时,每执行一次接口方法都会判断以sql作为key查找Statement对象(SQL在执行时会以key的形式保存在statement对象中),如果存在,则执行,如果不存在,则创建。使用后不会立即销毁statement对象,而是以键值对的形式保存,供下次使用。-----重复使用statement对象
BatchExecutor(ExecutorType.BATCH):同一条SQL语句执行批处理,只对第一次插入操作执行了SQL编译操作, 对其它插入操作仅执行了设置参数操作,最后统一执行------对相同SQL进行一次预编译, 然后设置参数, 最后统一执行操作
在Settings中
<settings>
<!--SIMPLE、REUSE、BATCH-->
<setting name="defaultExecutorType" value="REUSE"/>
</settings>
浙公网安备 33010602011771号