Databaseforbindelsen må kun åbnes, når den er nødvendig, og lukkes efter at have udført alt det nødvendige arbejde med den. Kodeeksempel:
-
Før 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
Men da det er for dyrt at åbne en databaseforbindelse manuelt, anbefales det stærkt at bruge en databaseforbindelsespulje
, repræsenteret i Java med DataSource
interface. Dette vil håndtere de fysiske databaseforbindelser for dig, og når du lukker det (dvs. kalder Connection#close
), vil den fysiske databaseforbindelse bare være i SLEEP-tilstand og stadig være åben.
Relateret spørgsmål/svar:
Nogle værktøjer til at håndtere databaseforbindelsespooling: