21. Mybatis 的三种执行器

本文详细介绍了Mybatis的三种执行器:SIMPLE、REUSE和BATCH,强调了批量操作在性能提升上的优势。通过设置局部和全局执行器,对比测试了各种执行器在批量插入时的日志行为,展示了BATCH执行器在批量操作中的高效性能,需要手动提交事务以确保正确执行。
摘要由CSDN通过智能技术生成

在企业开发中, 对数据库的批量操作, 是一个非常常见的操作, Mybatis提供了批量执行器, 来支持批量操作.

1. Mybatis sql执行器

Mybatis 支持全局修改执行器, 参数名为: defaultExecutorType. 但是笔者并不推荐这种方式,笔者建议在获取sqlSession对象时设置. Mybatis 共有三种执行器:

  • SIMPLE: 默认的执行器, 对每条sql进行预编译->设置参数->执行等操作
  • BATCH: 批量执行器, 对相同sql进行一次预编译, 然后设置参数, 最后统一执行操作
  • REUSE: REUSE 执行器会重用预处理语句(prepared statements

1.1 局部设置

在获取sqlSession时设置, 需要注意的时, 如果选择的是批量执行器时, 需要手工提交事务.

// 获取指定执行器的sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH)

// 获取批量执行器时, 需要手动提交事务
sqlSession.commit();

1.2 全局配置

可在全局配置文件中配置, 但是笔者不推荐这种方式, 了解即可.

<settings>
    <setting name="defaultExecutorType" value="BATCH" 
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值