Você não deveria fazer isso. A conexão tem um tempo de vida limitado cujo comprimento está fora do controle do seu aplicativo. Quando o banco de dados decidir que a conexão está aberta por muito tempo, ele fechará a conexão e você receberá
connection reset
ou connection timed out
exceções. Isso geralmente é de cerca de 30 minutos, mas também pode ser menos. A prática normal do JDBC é adquirir e fechar
Connection
, Statement
e ResultSet
no escopo mais curto possível, ou seja, no mesmo bloco de método que você executa a consulta. Se o motivo para manter a conexão aberta por muito tempo for devido ao desempenho, você deve considerar o pool de conexões, por exemplo c3p0 (guia de uso aqui ).