@Update执行多条更新语句

GPT告诉我是这样写的,结果语法错误,我在每个语句中加上分号,依然语法错误

 

 @Update({
        "UPDATE table1 SET column1 = #{value1} WHERE id = #{id};",
        "UPDATE table2 SET column2 = #{value2} WHERE id = #{id};"
    })
    void updateValues(@Param("id") int id, 
                      @Param("value1") String value1, 
                      @Param("value2") String value2);

单条执行却可以成功,dbeaver邮件执行sql语句提示语法错误,右键执行sql脚本成功,说明上面的语句程序送入mysql的时候估计也是被识别成了单条语句了。
百度了博文发现确实如此:

propertes 或者yml配置 文件中的jdbc后追加&allowMultiQueries=true​​​​​​​

url: jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8

 

参见博文:https://blog.csdn.net/torpidcat/article/details/86646593

posted @ 2023-06-05 14:31  田海超  阅读(329)  评论(0编辑  收藏  举报