MyBatis执行批量插入sql之oracle与mysql的两种写法
最近在开发的过程总遇到了一个问题,mybatis在执行批量插入的过程中总是报sql为正确结束的问题 ,调查了许久最终发现mysql与oracle的批量插入的sql写法不一致,以下为两种sql的写法:
表字段:
<sql id="Column_List">
COMPANY_ID,ACCOUNT_YEAR,ACCOUNT_MONTH,PROJ_CODE,UNIT_PEOPLE,
JOIN_PEOPLE,ADJUST_INCOME,ADJUST_LABOUR_HT,ADJUST_ZJTX,
ADJUST_ZCJZ,ADJUST_COST,ADJUST_BMGTFTF,ADJUST_GSGLFTF
</sql>
oracle写法(一)
<insert id="addBatch" parameterType="java.util.List">
INSERT ALL
<foreach collection="data" item="item" index="index" >
INTO PM_WY_GWHX_REVISION
(<include refid="Column_List"/> )
VALUES
(
#{item.companyId,jdbcType=VARCHAR},
#{item.accountYear,jdbcType=VARCHAR},
#{item.accountMonth,jdbcType=VARCHAR},
#{item.projCode,jdbcType=VARCHAR},