Java 如何将Spring jdbcTemplate中的数组/列表设置为参数?

Java 如何将Spring jdbcTemplate中的数组/列表设置为参数?,java,sql,spring,jdbc,Java,Sql,Spring,Jdbc,我有一个带有许多占位符“?”的SQL查询,它是动态生成的,我想用一个值数组来替换占位符。数组的大小每次都可能不同。数组按顺序由所有参数组成 return jdbcTemplate.query(Queries.someQuery, new Object[] {/* Array must be here */}, new ResultSetExtractor<List<String>>() { @Override public

我有一个带有许多占位符“?”的SQL查询,它是动态生成的,我想用一个值数组来替换占位符。数组的大小每次都可能不同。数组按顺序由所有参数组成

return jdbcTemplate.query(Queries.someQuery,
    new Object[] {/* Array must be here */},
    new ResultSetExtractor<List<String>>() {
        @Override
        public List<String> extractData(ResultSet resultSet) 
        }
    });
返回jdbcTemplate.query(querys.someQuery,
新对象[]{/*数组必须在此处*/},
新的resultSetTextRactor(){
@凌驾
公共列表提取数据(结果集结果集)
}
});
sql生成的示例:

for (int j = 0; j < y; j++) {
        conditionsBuilder.append("\n and p"+i+".object_id=o.object_id\n" +
                "    and p"+i+".attr_id =?\n" +
                "    and p"+i+".value =?\n");
        tablesBuilder.append(",patameters p"+i+" ");
        i++;
    }
for(int j=0;j
使用
数组列表

ArrayList<Object> values = new ArrayList<>;
然后将其转换为数组:

return jdbcTemplate.query(query, values.toArray(), resultSetExtractor);
作为一个衬里使用:

return jdbcTemplate.query(query, Lists.newArrayList(v1, v2).toArray(), rse);
return jdbcTemplate.query(query, Lists.newArrayList(v1, v2).toArray(), rse);