[英]Passing value to sql IN using JdbcTemplate
我试图在SQL IN中传递List但我收到无效的列类型错误。 这里我的SQL看起来像:
String partyIdSql = "select party_id from myPartySearch where partyId = :id"
List<Long> partyIdList = new JdbcTemplate(dataSource)
.queryForList(partyIdSql, new Object[] { id }, Long.class);
String currentRecordSql = "select * from myTable where someCol IN (:colVal)";
Map<String,Object> params = new HashMap<String, Object>();
params.put("partyIdList", partyIdList);
memberInfo = new JdbcTemplate(dataSource)
.query(currentRecordSql ,
new Object[] { params },
new BeanPropertyRowMapper<MyDto>(MyDto.class));
尝试这个:
Map<String,Object> params = Collections.singletonMap("fields", partyIdList );
namedParameterJdbcTemplate.query("select * from myTable where someCol IN (:fields)", new Object[] { params }, new BeanPropertyRowMapper<MyDto>(MyDto.class));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.