- ベストアンサー
StatementとResultSetのclose()について
こんにちは。 少し質問なんですが、jdbcを使用してDBとデータのやり取りが終わった後に StatementとResultSetをクローズしないでConnectionだけをクローズすると どうなりますか? StatementとResultSetもガーベージコレクションによりクローズされるのでしょうか? 少し気になったので、どなたか教えてください。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Statement#close()およびResultSet#close()をやらないのは非常にお行儀が 悪いので絶対やりましょう。他の人が見たときに「なんでcloseしないの?」 と疑問に思うことでしょう。 あとループでぐりぐりまわしつつ処理した時などに「最大カーソル数を越えました」 というエラーが出ることがありますから絶対closeした方がいいです。 ちなみにDBに関係するリソースはいらなくなったらすぐcloseした方が安全のようです。 プログラム側だけでなくDB側のリソースも解放することで無用なトラブルを減らすと ある本に書いてありました。