JAVA PreparedStatement with IN clause
//two private methods.
private String phbuilder(int length) {
StringBuilder b = new StringBuilder();
for (int i = 0; i < length;) {
b.append("?");
if (++i < length) b.append(",");
}
return b.toString();
}
private void setValues(PreparedStatement ps, Object... values) throws SQLException {
for (int i = 0; i < values.length; i++) {
ps.setObject(i + 1, values[i]);
}
}
Usage
String sql = String.format("SELECT * FROM others_pocket WHERE id IN (%s)", phbuilder(ids.size()));
....
statement = connection.prepareStatement(sql);
setValues(statement, ids.toArray());
resultSet = statement.executeQuery();
For other alternatives pls take a look here
No comments:
Post a Comment