将列表传递给Java中的SQL语句

时间:2012-11-28 08:11:54

标签: java sql

  

可能重复:
  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(?)

中的值

我该如何解决这个问题?有没有更好的方法呢?谢谢!

0 个答案:

没有答案