使用帶有IN子句參數的PreparedStatement
問題:
PreparedStatement pstmt = connection.prepareStatement(stmt);
int index = 1; for (Object o : values) { pstmt.setObject(index++, o); // Replace with appropriate data type }
這種做法允許您動態處理多個或未知參數。
使用 StringBuilder 的替代解決方案:
List<String> values = ...; StringBuilder builder = new StringBuilder(); for (int i = 0; i < values.size(); i++) { builder.append("?,"); } String placeHolders = builder.deleteCharAt(builder.length() - 1).toString(); String stmt = "select * from test where field in (" + placeHolders + ")";
按照與上述相同的步驟準備語句並設定值.
以上是如何在 JDBC 中使用帶有動態 IN 子句參數的PreparedStatements?的詳細內容。更多資訊請關注PHP中文網其他相關文章!