Java (J2SE 1.4) にて PreparedStatement の IN 句にリストを埋め込む方法をご紹介します。
ここに PreparedStatement の IN 句にリストを埋め込む色んなアプローチが書かれていて、とても参考になりました。
public String preparePlaceHolders(int length) {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < length;) {
buffer.append("?");
if (++i < length) {
buffer.append(",");
}
}
return buffer.toString();
}
public void setValues(PreparedStatement preparedStatement, ArrayList values) throws SQLException {
for (int i = 0; i < values.size(); i++) {
preparedStatement.setObject(i + 1, values.get(i));
}
}
以上、Java の PreparedStatement が使いたい現場からお送りしました。