1
Set<String>
をOracle in (?)
の引数に変換する最も簡単な方法は何ですか?私はすでにPreparedStatementを使っています。Java SetをPreparedStatement setStringメソッドの引数に変換する
Set<String>
をOracle in (?)
の引数に変換する最も簡単な方法は何ですか?私はすでにPreparedStatementを使っています。Java SetをPreparedStatement setStringメソッドの引数に変換する
できません。クエリには、セット内の各要素に対して1つのプレースホルダ(?
)が必要です。そして、あなたはセットのすべての要素をバインドする必要があります。
あなたのセットが3つの要素がある場合は、あなたの準備文は次のようになります。
String sql = "select foo.* from FOO foo where foo.id in (?, ?, ?)";
、あなたがセットを反復処理し、個別に各要素をバインドする必要があります。
int i = 1;
for (String s : setOfStrings) {
statement.setString(i, s);
i++;
}
おかげさまで、JB Nizetは基本的に、Java Set = {1,2,3}をJava String = "'1'、 '2'、 '3'に変換する方法を意味します。私はそれを行う方法を知っていますが、私はそれを行うためのAPIメソッドがあるかどうか疑問に思っていました。 – Abidi
私の主張は助けにならないということです。この文字列( "'1'、 '2'、 '3'")は、プリペアドステートメントの1つのパラメータとしてバインドすることはできません。 –
本当ですか?私はそれをやっているし、期待どおりに動作します。 – Abidi