Я создаю java программу, в которой при запуске программы инициализирую базу данных.
Я делаю это в функции (void) под названием initializeDatabase()
:
public void initializeDatabase() {
String statementCreateTableKlanten = "CREATE TABLE IF NOT EXISTS Klanten ("
+ "klantid INTEGER NOT NULL PRIMARY KEY,"
+ "adres TEXT,"
+ "postcode TEXT,"
+ "woonplaats TEXT,"
+ "telefoonnumer TEXT,"
+ "email TEXT,"
+ "opmerking TEXT"
+ ");"
;
String statementCreateTableBestelling = "CREATE TABLE IF NOT EXISTS Bestelling ("
+ "bestelid INTEGER NOT NULL PRIMARY KEY,"
+ "klantid INTEGER NOT NULL,"
+ "aantalpersonen INTEGER,"
+ "leverdatum TODO,"
+ "bezorgen TEXT,"
+ "email TEXT,"
+ "opmerking TEXT"
+ ");"
;
executeStatement(statementCreateTableKlanten);
executeStatement(statementCreateTableBestelling);
//This repeated for 10+ statements
}
Функции Я использую для executeStatement()
:
public void executeStatement(String statementStr) {
Connection connection = connectToDatabase();
try(Statement statement = connection.createStatement()) {
statement.execute(statementStr);
} catch (SQLException e) {
System.out.println(e.getMessage());
} finally {
closeConnection(connection);
}
}
public Connection connectToDatabase() {
Connection connection = null;
try {
connection = DriverManager.getConnection(dbUrl);
System.out.println("Verbonden met SQLite database.");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return connection;
}
public void closeConnection(Connection connection) {
try {
if (connection != null) {
connection.close();
System.out.println("Verbinding met SQLite database gesloten.");
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
Является ли это плохой привычкой так часто подключаться и отключаться от базы данных, или мне лучше открыть соединение, выполнить все запросы, закрыть соединение?
Спасибо за помощь!