sql >> Base de Datos >  >> RDS >> Mysql

Buena práctica de declaraciones preparadas consecutivas

No estás usando el mismo PreparedStatement , el método de fábrica Connection.prepareStatement te está devolviendo una nueva instancia cada vez que lo llamas. PreparedStatement.executeQuery está haciendo lo mismo con ResultSet . Solo estás usando las mismas variables.

Esto significa que está perdiendo recursos:la primera PreparedStatement y ResultSet - cada vez que se llama a este método, que nunca se cierra.

Mi recomendación sería usar JdbcTemplate de Spring que manejará estos recursos de la base de datos correctamente para usted y dividirá su código en dos métodos.