使用MyBatis进行批量的更新、删除报错

MySQL数据库:

<update id="writeOff" parameterType="Object">
	<if test="list != null and list.size() > 0 ">
		<foreach collection="list" item="l" open="" close="" separator=";">
			update sfb_pro_pay pp 
			set pp.paycapital_balance = pp.paycapital_balance - #{l.write_off},
			pp.status = #{l.status}
			where pp.pay_id = #{l.pay_id}
		</foreach>
	</if>
</update>


注意:MySQL数据需要dbc连接后加一个属性  &amp;allowMultiQueries=true
例如:jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=gbk&amp;

zeroDateTimeBehavior=convertToNull&amp;allowMultiQueries=true


2017-04-13日更新:

上一次遇到这个问题时,没有把错误的日志信息给贴出来。

今天在执行批量删除的操作时,同样报错了。错误信息如下:

org.springframework.jdbc.BadSqlGrammarException: 
### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: #42000
### The error may involve defaultParameterMap
### The error occurred while setting parameters
但是把sql语句拿出来到数据库客户端执行是没有问题的。

解决方案是同样是在jdbc连接后增加&amp;allowMultiQueries=true这个属性。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值