我有这样的查询
`Select * from Table1 where xyz in (List of String to be Supplied).
在我的java代码中。我有一个 dao 对象,在其中使用 jdbc 模板调用此 sql。 该方法接受一个字符串列表,并且需要将其提供给该 SQl。我有我的行映射器。
如何编写SQl以及如何传递变量列表?
My SQL 将在 Teradata Db 上运行。
最佳答案
使用 NamedParameterJdbcTemplate正如文档所说:
It also allows for expanding a List of values to the appropriate number of placeholders.
所以你只需要
String sql = "select * from Table1 where xyz in :list";
// or String sql = "select * from Table1 where xyz in (:list)";
// I can't remember which one is right
Map parameters = new HashMap<String, Object>();
parameters.put("list", theListOfXyz);
List<Foo> result = template.query(sql, parameters, rowMapper);
关于java - SQL JdbcTemplate 的多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20250149/