【问题标题】:Multiple parameters to SQL JdbcTemplateSQL JdbcTemplate 的多个参数
【发布时间】:2013-11-27 18:20:58
【问题描述】:

我有类似的查询

`Select * from Table1 where xyz in (List of String to be Supplied).

在我的 java 代码中。我有一个 dao 对象,我在其中使用 jdbc 模板调用这个 sql。 该方法接受一个字符串列表,并且需要提供给这个 SQl。我有我的行映射器。

如何编写SQl以及如何传递变量列表?

我的 SQL 将在 Teradata 数据库上运行。

【问题讨论】:

    标签: java sql parameter-passing jdbctemplate


    【解决方案1】:

    使用NamedParameterJdbcTemplate,正如文档所说:

    它还允许将值列表扩展到适当数量的占位符。

    所以你只需要

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      • 2018-08-24
      • 2015-02-01
      • 1970-01-01
      相关资源
      最近更新 更多