Нет, вам не нужно ничего закрывать, НО соединение. Согласно спецификациям JDBC, закрытие любого более высокого объекта автоматически закроет более низкие объекты. Закрытие Connection
закроет все Statement
s, которые установило соединение. Закрытие любых Statement
закроет все ResultSet
с, которые были созданы этим Statement
. Не имеет значения, является ли Connection
пулом или нет. Даже соединение с бассейном должно быть очищено перед возвращением в бассейн.
Конечно, вы можете иметь длинные вложенные циклы на Connection
, создавая множество операторов, а затем их закрытие подходит. Я почти никогда не закрываю ResultSet
, хотя при закрытии Statement
или Connection
кажется чрезмерным, БУДЕТ их закрывать.