jdbctemplate等同于以下查询

问题描述 投票:0回答:1

我有一长串参数,需要将其发送到oracle数据库。我可以通过拆分查询来做到这一点,但是我找不到使用jdbcTemplate做类似事情的方法。我的查询是:

select name,age from person where personId in (A1,F2,D3...G900) 
or personId in (A901, C902 , ... R1800) 
or personId in (A1801,G1802 .... H2700)
or personId in (P2701, G2702 ... R3600)

或因为oracle允许超过1000个touple,但不允许这样做,所以JDBC等价于

SELECT field1, field2, field3
FROM table1
WHERE (1, name) IN ((1, value1), (1, value2), (1, value3),.....(1, value5000));
oracle spring-boot jdbctemplate
1个回答
0
投票
List<Map<String, Object>> findPeeps(List<Long> personIds) {
    String sql = "select name,age from person where personId in (:personIds)";
    return namedParameterJdbcTemplate.queryForList(sql, new MapSqlParameterSource("personIds", personIds));
}
© www.soinside.com 2019 - 2024. All rights reserved.