-1

データベースに挿入する特殊文字がたくさんあるので、コードでPreparedStatementを使用しています。

一部のテーブルには多数の列があるため、一度に1つのパラメーターを割り当てる必要があるのは少しやり過ぎのようです。パラメータを指定するより良い/より効率的なものはありますか?

乾杯!

4

1 に答える 1

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));
  }
}
于 2012-04-24T11:22:53.160 に答える