可能重复:
What is the best approach using JDBC for parameterizing an IN clause?
我想知道是否可以将列表传递给SQL语句。我一直在使用谷歌,我找到的大部分答案都没有使用单独的.xml文件,其中保存了所有SQL查询。
我的sql.xml文件包含:
<sql name="getResultSet"><![CDATA[
SELECT ColumnName FROM TableName
WHERE OtherColumnName IN(?)
WITH UR; ]]>
</sql>
在我的action.java中:
String fileName = "sql.xml";
ListQuery query = new ListQuery(getDefaultsDataSource(), SQLParser.getSql(fileName, "getResultSet"), new int[] {Types.ARRAY});
List rows = (List) query.execute(new Object[] { values });
'values'将是用户输入,例如:
values = Name1,Name2,Name3,...
'values'将是IN(?)
中的值我该如何解决这个问题?有没有更好的方法呢?谢谢!