PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Параметризирана IN клауза, използваща множество колони

Всичко, което трябва да направите, е да подадете списък с масиви, където всеки масив съдържа ключ и стойност, като това:

HashMap<String , String > map = new HashMap<>();
map.put("key0", "value0");
map.put("key1", "value1");
Set<String> keys = map.keySet();
List<String[]> valuesMap = new ArrayList<>();
for(String key:keys){
    String[] entry = {key,map.get(key)};
    valuesMap.add(entry);
}
String sql = "select * from mytable where (key, value) in (values :valuesMap)";
SqlParameterSource params = new MapSqlParameterSource("valuesMap", valuesMap);
jdbcTemplate.query(sql, params, rowMapper);

Това се споменава в документацията на Spring:http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/jdbc.html#jdbc-in-clause



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разберете часова зона на клеймо в postgresql 8.3

  2. Как да опитате няколко SELECT, докато резултатът е наличен?

  3. Как да получа текущото име на часовата зона в Postgres 9.3?

  4. Копиране на Python среда на друг компютър

  5. Недефинирана db връзка с knex