解决使用Druid+Mybatis导致Error updating database. Cause: java.sql.SQLException: sql injection violation, multi-statement not allow
问题描述
通过mybatisplus的xml手写了个批量更新语句,多个更新sql时导致这个报错
<update id="batchUpdateDetails" parameterType="java.util.List">
<foreach collection="list" item="Detail" separator=";">
update t__detail
<set>
platform_id = null,
app = #{Detail.app,jdbcType=VARCHAR},
</set>
where id = #{Detail.id,jdbcType=INTEGER}
</foreach>
</update>

解决
[url添加 allowMultiQueries=true 后缀,添加druid配置]
mysql:
driverClassName: com.mysql.cj.jdbc.Driver
username: root
password: 12345
url: jdbc:mysql://localhost:3306/phone_mng?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false&**allowMultiQueries=true**
druid:
wall:
multi-statement-allow: true
1万+

被折叠的 条评论
为什么被折叠?



