dポイントプレゼントキャンペーン実施中!

こんにちは。

少し質問なんですが、jdbcを使用してDBとデータのやり取りが終わった後に
StatementとResultSetをクローズしないでConnectionだけをクローズすると
どうなりますか?
StatementとResultSetもガーベージコレクションによりクローズされるのでしょうか?

少し気になったので、どなたか教えてください。
よろしくお願いします。

A 回答 (1件)

Statement#close()およびResultSet#close()をやらないのは非常にお行儀が


悪いので絶対やりましょう。他の人が見たときに「なんでcloseしないの?」
と疑問に思うことでしょう。
あとループでぐりぐりまわしつつ処理した時などに「最大カーソル数を越えました」
というエラーが出ることがありますから絶対closeした方がいいです。

ちなみにDBに関係するリソースはいらなくなったらすぐcloseした方が安全のようです。
プログラム側だけでなくDB側のリソースも解放することで無用なトラブルを減らすと
ある本に書いてありました。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!