我试图将参数传递给查询,而不是编写大量文本,我已将其范围缩小到这个简单的解释。 我试图插入的框架是
where pkw_0.keyword in (:kwd)
我使用 String[] 构造了 vals="'AVal','BVal'"形式的字符串,我使用 setParameter("kwd",vals); 将其传递给查询;该查询返回零结果。但是,如果我手动构造查询并使用 mysql 控制台,查询将返回 1 个预期结果。
因此,我假设单个字符串对于参数来说不正确,或者在通过 setParameter 调用传递值之前需要对值进行一些调节。
最佳答案
每个参数只能代表一个单个文字值。您需要在准备好的语句中创建多个占位符(每个值一个),然后将每个值作为单独的参数提供给 MySQL。
关于mysql查询参数字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12456911/