Is it possible to generate arbitrary \"in ()\" lists in a SQL query through Jdbc template:
example:
\"select * from t where c in (#)\" , However \'#\' could
Yes, it's possible in Spring if you use NamedParameterJdbcTemplate or SimpleJdbcTemplate with named parameters. List parameter can be set as a java.util.List:
List list = new ArrayList();
list.add("A");
list.add("B");
list.add("C");
List result = simpleJdbcTemplate.query("SELECT * FROM t WHERE c in (:list)",
new RowMapper() { ... },
Collections.singletonMap("list", list));
In this case Spring internally creates the SQL query with the required number of placeholders based on the size of the actual list when replacing named parameters with ?s.