PreparedStatement具有可变数量的参数,但没有迭代它们

时间:2016-07-12 18:03:46

标签: java sql jdbc prepared-statement

我正在寻找以下方面的验证:

使用PreparedStatement的参数数量未知的方法是this question中显示的方式,并且无法在Java /应用程序端绕过此类迭代。

我一直在寻找" varargs"一种方法&语法用于将PreparedStatement变量数量的参数输入到集合中,并将其作为单个变量占位符插入到查询中。

这是一个问题。寻找验证只是为了不错过。

1 个答案:

答案 0 :(得分:1)

如果您想拥有不同的参数,则无法使用PreparedStatement。 SQL字符串必须具有正确数量的问号。这就是为什么解决方法是首先迭代并添加问号,然后从该动态字符串创建PreparedStatement

使用PreparedStatement的部分动机是避免SQL注入。 PreparedStatement就像是与数据库的契约,只有这个许多参数与这个 SQL语句。如果参数可能发生变化,它将破坏该合同,数据库将不再知道要准备什么。