6

次のクエリを実行する方法はありますか:

select * from table where field in (?)

?リスト/セット/配列をプレースホルダーの値として渡します。

Apache db-commons ライブラリの QueryRunner を使用しています。

4

2 に答える 2

3

確かにあり、createArrayOfを使用します。

final List<Integer> id = new ArrayList<>();
id.add(12);
id.add(15);

final Array toDelete = connection.createArrayOf("int", id.toArray());

queryRunner.query(
    connection,
    "SELECT * FROM table WHERE id = ANY(?)",
    resultSetHandler,
    toDelete
);

(例はPostgreSQLを使用していますが、他の人でも機能するはずです)

于 2014-03-14T10:30:43.387 に答える