码上敲享录 > java面试题及答案大全 > mybatis 有哪些执行器(Executor)?

mybatis 有哪些执行器(Executor)?

上一章章节目录下一章 2023-07-11已有281人阅读 评论(0)

MyBatis提供了三种执行器(Executor)来执行SQL语句:


1. SimpleExecutor(简单执行器):

  - SimpleExecutor是默认的执行器,它直接执行SQL语句,不进行二级缓存的操作。

  - 每次执行SQL语句都会创建一个新的Statement对象。

  - SimpleExecutor适用于小型或简单的应用场景。


2. ReuseExecutor(重用执行器):

  - ReuseExecutor会重用预编译的Statement对象,避免了重复创建Statement的开销。

  - ReuseExecutor会将Statement对象保存在一个Map中,根据SQL语句的ID进行查找和重用。

  - ReuseExecutor适用于存在大量重复执行的SQL语句的场景,可以减少Statement的创建和销毁开销。


3. BatchExecutor(批处理执行器):

  - BatchExecutor可以批量执行多个SQL语句,减少了与数据库交互的次数,提高了执行效率。

  - BatchExecutor将待执行的SQL语句进行分组,然后使用JDBC的Batch功能一次性发送到数据库进行执行。

  - BatchExecutor适用于批量插入、更新或删除等操作的场景,可以大幅提升数据操作性能。


可以通过配置文件或代码来指定使用的执行器类型,例如:

```xml

<!-- 在配置文件中配置执行器类型 -->

<configuration>

 <settings>

   <setting name="defaultExecutorType" value="REUSE"/>

 </settings>

</configuration>

```

```java

// 代码中指定执行器类型

SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.REUSE);

```


可以根据具体的业务需求和性能要求选择合适的执行器类型,以达到最佳的性能和可靠性。


0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交