我正在寻找以下方面的验证:
使用PreparedStatement的参数数量未知的方法是this question中显示的方式,并且无法在Java /应用程序端绕过此类迭代。
我一直在寻找" varargs"一种方法&语法用于将PreparedStatement变量数量的参数输入到集合中,并将其作为单个变量占位符插入到查询中。
这是不一个问题。寻找验证只是为了不错过。
答案 0 :(得分:1)
如果您想拥有不同的参数,则无法使用PreparedStatement
。 SQL字符串必须具有正确数量的问号。这就是为什么解决方法是首先迭代并添加问号,然后从该动态字符串创建PreparedStatement
。
使用PreparedStatement
的部分动机是避免SQL注入。 PreparedStatement
就像是与数据库的契约,只有这个许多参数与这个 SQL语句。如果参数可能发生变化,它将破坏该合同,数据库将不再知道要准备什么。