2012-04-24 10 views
-1

私はデータベースに挿入するために多くの特殊文字があるので、私のコードでPreparedStatementを使用しています。preparedstatementへの効果的な入力

テーブルの中には多くの列があるため、一度に1つのパラメータを割り当てる必要があります。パラメータを指定する方が効率的か、より効果的ですか?

乾杯!

+0

オーバーキルは明らかに間違ってここに表現されます。人々の味が異なるので、「列の数が多い」とは何ですか? 10,20,50,100,1000? –

+0

効率の面では、これがそれです。利便性の面では、独自のユーティリティコードを書く必要があります。 JDBCは主に未処理のパフォーマンスであり、利便性ではありません。 –

答えて

2

あなたの問題が何であるかは完全にわかりません。

PreparedStatementにパラメータを個別に設定する必要があります。これは、PreparedStatementにデータベース内のさまざまなJavaオブジェクトを表す方法を伝える必要があるためです。

しかし、あなたはargsのObject []を渡すことができるクラス/メソッドを簡単に書くことができ、適切なインデックスとオブジェクトの処理でPreparedStatementに追加することができます。線に沿って

何か:

private static void setParameters(PreparedStatement stmt, Object[] args){ 
    for (int i=0; i<args.length; i++){ 
    setArgument(stmt, i+1, args[i]); 
    } 
} 

private static void setArgument(PreparedStatement stmt, int index, Object arg){ 
    if (arg instanceof MyObject){ 
    stmt.set[X](index, handleMyObject(arg)); 
    } 
} 
関連する問題