【发布时间】:2015-08-24 06:53:29
【问题描述】:
我正在尝试编写一些代码来读取 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();
两个(所有)语句都被执行了。当我尝试在 spring JdbcTemplate 中做同样的事情时,只执行了第一条语句!
String sqlQuery = "CREATE TABLE A (...); CREATE TABLE B (...);"
org.springframework.jdbc.core.JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.execute(sqlQuery);
有没有办法执行多个语句?在谷歌搜索时,我发现只有“手动将 sqlQuery 拆分为;”之类的解决方案,这当然是没用的(它需要更多的解析)。
【问题讨论】:
标签: java spring jdbctemplate