Ваше предложение "теперь есть простой способ выполнить SQL-скрипт, хотя JDBC" смутил меня на минуту, но я считаю, что вы говорите "есть нет легкий путь ". :)
Исходя из того, что говорили другие, да ... сценарий идеального мира - это использование инструмента ORM, такого как Hibernate, но я также понимаю тот факт, что когда вы работаете с устаревшими вещами на работе, ваша команда может не захотеть потратить слишком много времени на рефакторинг этого проекта.
Я согласен с тем, что вам следует преобразовать схему базы данных в отдельный файл. Вы можете фактически выполнить сценарий SQL, используя JDBC. Я делаю это все время, когда запускаю определенные тестовые сценарии.
Вот как я это делаю. Я использую базу данных SQL Server в моем случае. Итак, вам нужно настроить код под свои нужды.
String ddl = ... // load your SQL script file into this string
String delimiter = "GO"; // in my case, SQL Server uses GO as delimiter, you use whatever you want here.
private void executeDDL(String ddl, String delimiter) {
Connection con = null;
try {
con = ... // get the connection
// enable transaction
con.setAutoCommit(false);
Statement statement = con.createStatement();
// for every DDL statement, execute it
for (String sql : ddl.split(delimiter)) {
if (StringUtils.isNotBlank(sql)) {
statement.executeUpdate(sql);
}
}
statement.close();
con.commit();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
con.close();
}
catch (Exception ignored) {
}
}
}