Java在IN子句中带有参数列表的PreparedStatement

执行查询时如何在JDBC的prepareStatement中设置in子句的值。

例:

connection.prepareStatement("Select * from test where field in (?)");

如果此条款可

回答:

我要做的是添加一个“?” 对于每个可能的值。

例如:

List possibleValues = ... 

StringBuilder builder = new StringBuilder();

for( int i = 0 ; i < possibleValue.size(); i++ ) {

builder.append("?,");

}

String stmt = "select * from test where field in ("

+ builder.deleteCharAt( builder.length() -1 ).toString() + ")";

PreparedStatement pstmt = ...

然后愉快地设置参数

int index = 1;

for( Object o : possibleValue ) {

pstmt.setObject( index++, o ); // or whatever it applies

}

以上是 Java在IN子句中带有参数列表的PreparedStatement 的全部内容, 来源链接: utcz.com/qa/430216.html

回到顶部