我正在尝试编写一些读取SQL文件的代码(多个CREATE TABLE语句分隔;)并执行所有语句.
在纯JDBC中,我可以写:
String sqlQuery = "CREATE TABLE A (...); CREATE TABLE B (...);"
java.sql.Connection connection = ...;
Statement statement = connection.createStatement();
statement.executeUpdate(sqlQuery);
statement.close();
Run Code Online (Sandbox Code Playgroud)
并且两个(所有)语句都已执行.当我尝试在Spring JdbcTemplate中执行相同操作时,只执行第一个语句!
String sqlQuery = "CREATE TABLE A (...); CREATE TABLE B (...);"
org.springframework.jdbc.core.JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.execute(sqlQuery);
Run Code Online (Sandbox Code Playgroud)
有没有办法执行多个语句?在谷歌搜索时,我发现只有" ;手动拆分sqlQuery "这样的解决方案当然没用(它需要更多的解析).