Vous ne devriez pas faire ça. La connexion a une durée de vie limitée dont la durée est hors de contrôle de votre application. Lorsque la base de données décide que la connexion est ouverte depuis trop longtemps, elle ferme la connexion et vous obtenez la connection reset
ou connection timed out
exceptions. Cela prend généralement environ 30 minutes, mais peut également être inférieur.
La pratique normale de JDBC consiste à acquérir et à fermer Connection
, Statement
et ResultSet
dans la portée la plus courte possible, c'est-à-dire dans le même bloc de méthode que celui où vous exécutez la requête.
Si la raison du maintien de la connexion aussi longtemps ouverte est due aux performances, vous devez envisager le regroupement des connexions, par exemple c3p0 (guide d'utilisation ici ).