Java 在准备好的语句中输入一组数字

Java 在准备好的语句中输入一组数字,java,sql,jdbc,Java,Sql,Jdbc,我想在一个准备好的语句中同时输入一组数字。这就是我正在尝试的 String parameters = "2,6,9"; preparedStatement = connection.prepareStatement("SELECT * FROM user WHERE id IN (?)"); preparedStatement.setString(1, parameters); 然而,这只给了我第一人称(第二人称)。这是b/c我正在发送参数中内的字符串。将preparedStatement.t

我想在一个
准备好的语句中同时输入一组数字。这就是我正在尝试的

String parameters = "2,6,9";
preparedStatement = connection.prepareStatement("SELECT * FROM user WHERE id IN (?)");
preparedStatement.setString(1, parameters);
然而,这只给了我第一人称(第二人称)。这是b/c我正在发送参数中
内的字符串。将
preparedStatement.toString()
打印到控制台时,发送到db的结果是

SELECT * FROM user WHERE id IN ('2,6,9')
所以我的问题是周围的蜱虫,我需要设法把它们弄出来。有什么想法吗


Ps:我知道我可以用逗号分割字符串并沿着这条路走,因为我已经实现了它。但是,如果可能的话,我希望避免这种情况。正在寻找更好的方法。

尝试设置所有值:

PreparedStatement stmt = conn.prepareStatement(
    "select id, name from users where id in (?, ?, ?)");
stmt.setInt(1);
stmt.setInt(2);
stmt.setInt(3);

注意:这是本文第页的示例。

看来您没有太多选择。看到这个问题:很好的链接,为我回答了很多事情谢谢