Die Datenbankverbindung muss nur bei Bedarf geöffnet und geschlossen werden, nachdem alle erforderlichen Aufgaben damit erledigt wurden. Codebeispiel:
-
Vor Java 7:
Connection con = null; try { con = ... //retrieve the database connection //do your work... } catch (SQLException e) { //handle the exception } finally { try { if (con != null) { con.close(); } } catch (SQLException shouldNotHandleMe) { //... } }
-
Java 7:
try (Connection con = ...) { } catch (SQLException e) { } //no need to call Connection#close since now Connection interface extends Autocloseable
Da das manuelle Öffnen einer Datenbankverbindung jedoch zu teuer ist, wird dringend empfohlen, einen Datenbankverbindungspool
, dargestellt in Java mit DataSource
Schnittstelle. Dies übernimmt die physischen Datenbankverbindungen für Sie und beim Schließen es (d.h. Aufruf von Connection#close
), befindet sich die physische Datenbankverbindung nur im SLEEP-Modus und ist weiterhin geöffnet.
Zugehörige Fragen/Antworten:
Einige Tools zum Umgang mit dem Pooling von Datenbankverbindungen: