java - SQL JdbcTemplate 的多个参数

标签 java sql parameter-passing jdbctemplate

我有这样的查询

`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/

相关文章:

java - 将参数传递给 Java 方法

java - 使用 Chrome 开发者工具获取 Chrome 的屏幕截图?

java - 在 ROME rss 文件上添加 guid

sql - 从 1 个表复制行并将其插入到不同服务器中的另一个

mysql - 如何用数组更新sql列?

mysql - 使用 UNION ALL 优化 SQL 查询

javascript - 将值传递给全局变量

clojure - 如何转发可选参数

java - 如何删除 UIMA 注释?

java - 多次射击会导致 Swing 计时器重复