簡體   English   中英

如何做IN()和WHERE =? 使用Spring的JDBCTemplate進行SQL查詢

[英]How to do IN() and WHERE=? SQL queries with Spring's JDBCTemplate

這是如何有效地使用Spring的JDBCTemplate執行IN()SQL查詢的擴展?

我希望將查詢修改為:

"SELECT * FROM foo WHERE name=? and value IN (:ids)"

如何修改給定的代碼以支持name =? 參數

Set<Integer> ids = ...;

MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("ids", ids);

List<Foo> foo = getJdbcTemplate().query("SELECT * FROM foo WHERE a IN (:ids)",
     getRowMapper(), parameters);

我成功地使用了這兩條評論。

我將在下面發布以下代碼,供以后查找此問題的人使用:

String sql = "SELECT * FROM foo WHERE name=:name and value IN (:ids)";

Set<Integer> ids = ...;
String name = "John";

MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("ids", ids);
parameters.addValue("name",name);

List<Foo> foo = getNamedParameterJdbcTemplate().query(sql, parameters, getRowMapper());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM