批量提交多条语句需要在 mysql 的连接里面开启 allowMultiQueries=true
如:url: jdbc:mysql://127.0.0.1:3306/ku?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
<insert id="batchInsert" parameterType="com.Entity">
insert into pos_parameter ( store_id, pos_id,
parameter_id, parameter_name, parameter_value,
parameter_desc, parameter_type, is_show,
is_modify, create_user_id, memo,
created_time, updated_time)
values
<foreach collection="list" item="param" index="index" separator=",">
( #{param.storeId,jdbcType=VARCHAR}, #{param.posId,jdbcType=VARCHAR},
#{param.parameterId,jdbcType=VARCHAR}, #{param.parameterName,jdbcType=VARCHAR}, #{param.parameterValue,jdbcType=VARCHAR},
#{param.parameterDesc,jdbcType=VARCHAR}, #{param.parameterType,jdbcType=INTEGER}, #{param.isShow,jdbcType=CHAR},
#{param.isModify,jdbcType=CHAR}, #{param.createUserId,jdbcType=VARCHAR}, #{param.memo,jdbcType=VARCHAR},
#{param.createdTime,jdbcType=TIMESTAMP}, #{param.updatedTime,jdbcType=TIMESTAMP})
</foreach>
</insert>
<update id="batchUpdate" parameterType="com.Entity">
<foreach item="param" collection="list" separator=";" index="index">
update pos_parameter
<set>
<if test="param.storeId != null">
store_id = #{param.storeId,jdbcType=VARCHAR},
</if>
<if test="param.posId != null">
pos_id = #{param.posId,jdbcType=VARCHAR},
</if>
<if test="param.parameterId != null">
parameter_id = #{param.parameterId,jdbcType=VARCHAR},
</if>
<if test="param.parameterName != null">
parameter_name = #{param.parameterName,jdbcType=VARCHAR},
</if>
<if test="param.parameterValue != null">
parameter_value = #{param.parameterValue,jdbcType=VARCHAR},
</if>
<if test="param.parameterDesc != null">
parameter_desc = #{param.parameterDesc,jdbcType=VARCHAR},
</if>
<if test="param.parameterType != null">
parameter_type = #{param.parameterType,jdbcType=INTEGER},
</if>
<if test="param.isShow != null">
is_show = #{param.isShow,jdbcType=CHAR},
</if>
<if test="param.isModify != null">
is_modify = #{param.isModify,jdbcType=CHAR},
</if>
<if test="param.createUserId != null">
create_user_id = #{param.createUserId,jdbcType=VARCHAR},
</if>
<if test="param.memo != null">
memo = #{param.memo,jdbcType=VARCHAR},
</if>
<if test="param.createdTime != null">
created_time = #{param.createdTime,jdbcType=TIMESTAMP},
</if>
<if test="param.updatedTime != null">
updated_time = #{param.updatedTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{param.id,jdbcType=BIGINT}
</foreach>
</update>