在mapper里,一个update标签中写了多条update语句,在执行时会抛出SQL异常,是因为在mybatis中默认不支持同时执行多条语句。
语句如下:
<update id="updateUserState">
update sys_user set sys_user_state = #{param2} where sys_user_id = #{param1};
update sys_user set sys_user_state = #{param2} where sys_user_id = #{param1};
update sys_user set sys_user_state = #{param2} where sys_user_id = #{param1};
</update>
解决方案:
在propertes 或者yml配置文件中找到mysql的jdbc链接,在其后追加&allowMultiQueries=true
例如:
url: jdbc:mysql://127.0.0.1:3306/${db.name}?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowMultiQueries=true