使用JDBC,如何将多个ID替换为"DELETE FROM T WHERE id IN(?)"

Mik*_*uel 1 java sql jdbc prepared-statement

我有一些代码生成一组我想从数据库表中删除的主键值.

long[] keysToDelete = { 0, 1, 2, 3 };
Run Code Online (Sandbox Code Playgroud)

我想使用PreparedStatement执行相当于

DELETE FROM MyTable WHERE myPrimaryKey IN (0, 1, 2, 3);
Run Code Online (Sandbox Code Playgroud)

知道怎么样?

duf*_*ymo 5

两个步骤:

  1. 使用适当的#参数构建PreparedStatement SQL String.
  2. 循环遍历值数组并将每个值绑定到其参数.

不幸的是,没有一种方法可以同时绑定一个数组.