La conexión de la base de datos debe abrirse solo cuando sea necesario y cerrarse después de hacer todo el trabajo necesario con ella. Ejemplo de código:
-
Antes de 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
Pero dado que abrir manualmente una conexión a la base de datos es demasiado costoso, se recomienda enfáticamente usar un grupo de conexiones de base de datos
, representado en Java con DataSource
interfaz. Esto manejará las conexiones físicas de la base de datos por usted y cuando cierre (es decir, llamar a Connection#close
), la conexión de la base de datos física solo estará en modo SUSPENSIÓN y seguirá abierta.
Preguntas y respuestas relacionadas:
Algunas herramientas para manejar la agrupación de conexiones de bases de datos: