没有。若把?直接替换成字串或集合中只有一个元素,则可以找到记录集。难道在这种情况下(条件中有in关键字)不太适合用PreparedStatement?

解决方案 »

  1.   

    select * from test where id in (?)  中只有一个?,所以只能传一个参数
    同时PreparedStatement.setString()一次只能传一个参数,参考jdk文档
      

  2.   

    sql = select * from test where id in (?)
    PreparedStatement.setString(1, "'a','b','c'")
    PreparedStatement.executeQuery(sql)同意楼上的意见
    按上面的语句实际的判断是id是否等于'a','b','c'不是in的关系了
      

  3.   

    这样
    PreparedStatement.setString(1, "a','b','c")