2011-02-01 7 views
0
public void XXX(){ 
    Connection conn = ~~;   
    CallableStatement cstmt = conn.prepareCall("{call XXX"); 
    cstmt.executeUpdate(); 
    cstmt.close(); 
} 

callableStatementがclose()で記述されているすべてのメソッドは、上記のようなメソッドで行ごとに記述されています。 自動操作で各メソッドのclose()を行う方法はできませんか?CallableStatementのクローズ

java5またはjava6で実現できる方法はありますか?

私は日本語ですので、より良い表現を教えてください。

+0

からIOUtilsを使用する自由を撮影しました。また、あなたの投稿がどのように見えるかを見ることができるようにプレビューウィンドウがあります。 –

+0

オンラインの日本語 - 英語翻訳者を利用しましたか?結果はあまりうまくいきませんでした。必要に応じて、英語を少し流暢にする他の人の助けを借りて、もっと詳しく説明してください。 – BalusC

+0

あなたの質問は、「CallableStatementが使用されるたびに、CallableStatementにclose()が呼び出されることを保証する方法はありますか? (私はその答えは「いいえ」と思う) –

答えて

0

終了データベースオブジェクトは、例外が発生したかどうかに関係なく閉じられるように、常にfinallyブロック内で実行する必要があります。ここ

Connection c = null; 
CallableStatement cstmt = null; 

try { 
    conn = getAConnectionSomewhere(); 
    cstmt = conn.prepareCall("{call XXX"); 
    cstmt.executeUpdate(); 
} finally { 
    IOUtils.close(cstmt); 
    IOUtils.close(conn); 
} 

、私はコードのように、物事をフォーマットするために、編集ウィンドウ上の ``ボタン{}カーリーブレースを使っコモンズ-IO

関連する問題