Spring-Mybatis的批量执行

566 阅读1分钟

一般大数据量添加更新使用批量操作会提高数据库的性能,我们很多项目都使用Spring-Mybatis框架,所以我在这边总结如果配置和使用。

配置其实比较简单,只需要在Spring配置中加入以下代码即可

<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
	<constructor-arg index ="0" name="sqlSessionFactory" ref="sqlSessionFactory" />
	<constructor-arg index ="1" name="executorType" value="BATCH" />
</bean>

constructor-arg表示是构造器注入,其中index属性对应于构造函数的多个参数,index属性的值从0开始。

name="executorType"是指Mybatis的执行器,有三种类型:

  • ExecutorType.SIMPLE(默认) 这个类型不做特殊的事情,它只为每个语句创建一个PreparedStatement。
  • ExecutorType.REUSE 这种类型将重复使用PreparedStatements。
  • ExecutorType.BATCH 这个执行器会批量执行所有更新语句,如果 SELECT 在它们中间执行还会标定它们是 必须的,来保证一个简单并易于理解的行为。