可能重复:
java PreparedStatement
我可以制作准备好的陈述
SELECT * FROM STUDENTS WHERE STUDENT_ID IN ?
进入
SELECT * FROM STUDENTS WHERE STUDENT_ID IN (1,2,3)
鉴于学生ID的集合是一个字符串数组。
答案 0 :(得分:2)
我认为您最好的解决方案是动态生成in子句:IN (?,?,?,?)
,然后为数组/集合中的每个值调用preparedStatement.setInt(i + 1, myValues[i])
。坏消息是,每当你有不同数量的值时,你最终会得到一个不同的preparedStatement。