【发布时间】:2015-10-23 06:38:03
【问题描述】:
我想使用 WHERE IN 从数据库中选择所有记录,使用我拥有的数组中的值。有没有办法将数组实际传递给查询?
我试过SELECT id FROM tag WHERE name IN "+myArray.toString()+"。但是,当然,它注定要失败)
我可以使用preparedStatement,但是值的数量总是不同的而且相当大——大约5000。
或者也许我应该采取不同的方法?
【问题讨论】:
-
您应该始终使用准备好的语句而不是字符串连接来创建 SQL。如果您想更灵活地使用什么作为输入,请查看 MyBatis 或 Hibernate。
-
但是,我听说preparedStatement 比字符串concat 慢得多。这是真的吗? (不过,我知道preparedStatement 对sql 注入有好处)
标签: java database postgresql where where-in