本文共 795 字,大约阅读时间需要 2 分钟。
使用Java的prepareStatement方法查询数据库时,遇到IN操作中的多个参数问题,正确的做法是为每个参数单独设定。以下是解决方案:
最终解决方案代码如下:
String tids = "3152892500240988,3152893300713891";String[] tidsAry = tids.split(",");StringBuffer buffer = new StringBuffer("(");for (int i = 0; i < tidsAry.length; i++) { buffer.append("?").append(i == tidsAry.length - 1 ? "" : ", ");}buffer.append(")");ps = conn.prepareStatement("SELECT tid, jdp_response FROM jdp_tb_trade WHERE tid IN (" + buffer.toString() + ") ORDER BY created DESC");for (int i = 0; i < tidsAry.length; i++) { ps.setLong(i + 1, Long.parseLong(tidsAry[i]));}ResultSet rs = ps.executeQuery();while (rs.next()) { System.out.println(rs.getString(1));} 通过以上方法,可以正确查询多条数据。
转载地址:http://imxfk.baihongyu.com/