Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Boas práticas de Declaração Preparada Consecutiva


Você não está usando o mesmo PreparedStatement , o método de fábrica Connection.prepareStatement está retornando uma nova instância cada vez que você a chama. PreparedStatement.executeQuery está fazendo o mesmo com ResultSet . Você está apenas usando as mesmas variáveis.

Isso significa que você está vazando recursos - o primeiro PreparedStatement e ResultSet - toda vez que esse método é chamado, que nunca está sendo fechado.

Minha recomendação seria usar o JdbcTemplate do Spring que irá lidar com esses recursos de banco de dados corretamente para você e você divide seu código em dois métodos.