Spring-Mybatis的批量執行

楓葉梨花發表於2018-09-06

一般大資料量新增更新使用批量操作會提高資料庫的效能,我們很多專案都使用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 在它們中間執行還會標定它們是 必須的,來保證一個簡單並易於理解的行為。

相關文章