我想知道是否可以将列表传递给 SQL 语句。我一直在谷歌搜索,我发现的大多数答案都没有使用保存所有 SQL 查询的单独 .xml 文件。
我的 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' 将是用户输入,例如:
值 = 名称 1、名称 2、名称 3、...
'values' 将是 IN(?) 中的值
我该怎么做?有更好的方法吗?谢谢!