我正在嘗試寫一些讀取SQL文件的代碼(由;
分隔的多個CREATE TABLE
語句)並執行所有語句。從Spring JDBC模板執行SQL文件
在純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 ;
」這樣的解決方案當然是無用的(它需要更多的解析)。
它似乎工作。雖然可以刪除註釋(SQLite可以保留爲列的描述),但現在並不擔心。 –
有沒有什麼辦法可以通過這個executeSqlScript()方法獲取更改的行數? – zygimantus
executeSqlScript現已被棄用。任何選擇? – Daniele