我正在尝试使用NamedParameterJdbcTemplate进行batchUpdate。这是代码:
SqlParameterSource[] batch = SqlParameterSourceUtils
.createBatch(groupDTOList.toArray());
namedParamJdbcTemplate.batchUpdate(roleSQLQuery, batch);
roleSQLQuery = UPDATE Role set Name=replace(Name, :name, :targetGroupName) where Name like %:name
name和targetGroupName是dto上的属性。它适用于没有like子句的不同查询。如何包含命名参数的%infron?谢谢!
以下是我如何使用它。如果有人有更好的想法,请告诉我...谢谢你
roleSQLQuery = UPDATE Role set* Name=replace(Name, :name, :targetGroupName) where Name like :sourceName
for(DTO dto:groupDTOList){
HashMap<String, String> params = new HashMap<String, String>();
params.put("sourceName", "%"+ dto.getName() + "%");
roleParams.add(params);*
}
Map<String,String>[] ar= roleParams.toArray(new HashMap[roleParams.size()]);
int[] result = namedParamJdbcTemplate.batchUpdate(roleSQLQuery, ar);