使用正确数量的标记构建SQL语句,并设置所有值。
注意:数据库对允许的参数数量有限制,尽管对于MySQL(65535)来说非常高。
char[] markers = new char[list.size() * 2 - 1];for (int i = 0; i < markers.length; i++) markers[i] = (i & 1 == 0 ? '?' : ',');String sql = "select * from employee where id in (" + markers + ")";try (PreparedStatement stmt = conn.prepareStatement(sql)) { int idx = 1; for (String value : list) stmt.setString(idx++, value); try (ResultSet rs = stmt.executeQuery()) { while (rs.next()) { // pre here } }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)