Je gebruikt niet dezelfde PreparedStatement
, de fabrieksmethode Connection.prepareStatement
geeft u elke keer dat u het aanroept een nieuwe instantie. PreparedStatement.executeQuery
doet hetzelfde met ResultSet
. Je gebruikt gewoon dezelfde variabelen.
Dit betekent dat je bronnen lekt - de eerste PreparedStatement
en ResultSet
- elke keer dat deze methode wordt aangeroepen, die nooit worden gesloten.
Mijn aanbeveling zou zijn om Spring's JdbcTemplate
. te gebruiken die deze databasebronnen correct voor u afhandelt en u verdeelt uw code in twee methoden.