xml中SQL
<insert id="batchInsertXxxInfo">
<foreach collection="list" item="it" separator=";">
insert into xxx_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="it.customerId != null">customer_id,</if>
<if test="it.customerName != null and it.customerName != ''">customer_name,</if>
<if test="it.customerPhone != null and it.customerPhone != ''">customer_phone,</if>
<if test="it.createTime != null">create_time,</if>
<if test="it.modifyTime != null">modify_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="it.customerId != null">#{it.customerId},</if>
<if test="it.customerName != null and it.customerName != ''">#{it.customerName},</if>
<if test="it.customerPhone != null and it.customerPhone != ''">#{it.customerPhone},</if>
<if test="it.createTime != null">#{it.createTime},</if>
<if test="it.modifyTime != null">#{it.modifyTime},</if>
</trim>
</foreach>
</insert>
问题现象
单条插入没有问题,但是当有多条数据插入的时候就开始报BadSqlGrammarException异常
问题解决
数据库连接 url中加上&allowMultiQueries=true
原来连接:
url: jdbc:mysql://127.0.0.1:3306/fd_mgm?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
修改后连接:
url: jdbc:mysql://127.0.0.1:3306/fd_mgm?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true