实践过的 : 直接在jdbc url后面加上 “&allowMultiQueries=true”
然后可以在项目中更新或创建记录时,一次性传入多个sql,同步更新关联表(如活动和其关联的多个链接)。
————————————————————————————-
最近做一个MySQL方面的东西发现了这个问题,就是在一个 Statement 中执行一条 SQL 语句的时候可以正确执行,如果同时执行多条,就会报 SQL 语法错误,伤透了脑筋。
经过网上查找,发现有两种解决办法:
1、最简单的办法:在 MySQL 的连接字符串中设置 allowMultiQueries 参数置为 true。(只有 MySQL Connector/J 3.1.1 以上版本才支持) 。例如:在 jdbc 下设置连接字符串的时候设置 成如下的形式:
jdbc:mysql://192.168.3.180/sample?user=root&password=&allowMultiQueries=true 就可以执行多条语句了
在 odbc 下也是可以设置的,方法如下:
设置 ODBC — 配置 –Detials — Flags 3 — 钩上 Allow multiple statements,这样就可以了。
结论:第一种方式最简单。
2、在程序中对 SQL 语句以分号拆分成多条 SQL 语句,然后使用 Statement 的 addBatch 方法,最后 executeBatch 就行。