@Update执行多条更新语句

发布时间 2023-06-05 14:36:45作者: 田海超

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