Oracle+Mybatis批量插入含有Sequence和CLOB字段

參考 當oracle+mybaits批量insert遇到CLOB類型字段,通過使用 begin .. end 將語句放入Oracle 的塊裏實現批量提交。常規的,帶有 Sequence 的插入語句需要使用到 Mybatis 的 selectKey 標籤。但是,帶有 Sequence 和 CLOB 的卻可以使用下面更簡潔的方式完成:

	<insert id="insertAll" parameterType="java.util.List">
		begin
    	<foreach collection="list" item="item" index="index" separator=";">
		insert into SYNC_MESSAGE (ID, COHORT_DEF_ID, PROJECT_ID,
			REQUEST_PATH, EXE_TIME, ADV_ANALYSIS_ID,
			METHOD_NAME, TYPE, STATUS, TARGET_NODE, INPUT_JSON, CHECK_SUM)
		values (
			SYNC_MESSAGE_SEQ.NEXTVAL,
			#{item.cohortDefId,jdbcType=BIGINT},
			#{item.projectId,jdbcType=BIGINT},
			#{item.requestPath,jdbcType=VARCHAR},
			#{item.exeTime,jdbcType=TIMESTAMP},
			#{item.advAnalysisId,jdbcType=BIGINT},
			#{item.methodName,jdbcType=VARCHAR}, 
			#{item.type,jdbcType=VARCHAR}, 
			#{item.status,jdbcType=VARCHAR},
			#{item.targetNode,jdbcType=VARCHAR},
			#{item.inputJson,jdbcType=CLOB},
			#{item.checkSum,jdbcType=VARCHAR}
		)
		</foreach>
		;end;
	</insert>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章