Sto provando a scrivere un po 'di codice che legge un file SQL (più istruzioni CREATE TABLE
separate da ;
) ed esegue tutte le istruzioni.Esegui file SQL da Spring JDBC Template
In puro JDBC, potrei scrivere:
String sqlQuery = "CREATE TABLE A (...); CREATE TABLE B (...);"
java.sql.Connection connection = ...;
Statement statement = connection.createStatement();
statement.executeUpdate(sqlQuery);
statement.close();
ed entrambe (tutte) le dichiarazioni ottenuto eseguito. Quando ho provato a fare lo stesso in primavera JdbcTemplate, solo la prima istruzione viene eseguita però!
String sqlQuery = "CREATE TABLE A (...); CREATE TABLE B (...);"
org.springframework.jdbc.core.JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.execute(sqlQuery);
Esiste un modo per eseguire più istruzioni? Mentre su Google ho trovato solo soluzioni come "dividere manualmente sqlQuery per ;
" che ovviamente è inutile (richiederebbe molto più analisi).
sembra funzionare. Rimuove i commenti (che SQLite può conservare come descrizione per le colonne), ma questo non mi preoccupa più di tanto. –
Esistono modi per ottenere il numero di righe modificate utilizzando questo metodo executeSqlScript()? – zygimantus
executeSqlScript sono ora deprecati. Qualche alternativa? – Daniele