我有多个占位符的SQL查询'',它是动态构建的,我想放置值数组来替换占位符。阵列的大小每次都可以不同。数组按顺序包含所有参数。
return jdbcTemplate.query(Queries.someQuery,
new Object[] {/* Array must be here */},
new ResultSetExtractor<List<String>>() {
@Override
public List<String> extractData(ResultSet resultSet)
}
});
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++;
}
答案 0 :(得分:2)
使用let formData = {subJudul:[
'sub judul 1 value here',
'sub judul 2 value here',
'sub judul 3 value here',
'next new input'
]};
:
ArrayList
在ArrayList<Object> values = new ArrayList<>;
循环中,您应该按照它们在查询中出现的顺序添加值:
for
然后把它变成一个数组:
values.add(value);
答案 1 :(得分:0)
使用Guava作为一行:
return jdbcTemplate.query(query, Lists.newArrayList(v1, v2).toArray(), rse);