Map<String,List<String>> map = new HashMap<String, Object>();
List list = new arrayList();
list.add("1");
list.add("2");
map.put("category", list)
service.updateByList(map)
//xml like this
<update id="updateByList" parameterType="java.util.Map">
update hs_esl
set
category = #{?}
where id in
<foreach collection="list" item="item" index="index" open="(" separator=","
close=")">
(#{?})
</foreach>
</update>
答案 0 :(得分:0)
如果你有同一列的多组,我没有找到一个案例。因此,相信hashMap是没用的。因此,您可以创建一个具有字段类别和列表的对象,如下所示。
<强> KPData.java 强> 公共类KPData {
private String category;
private List<Integer> sal;
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public List<Integer> getSal() {
if (sal == null) {
return new ArrayList<Integer>();
} else {
return sal;
}
}
}
您的sqlmap文件看起来像
<update id="setKP1" parameterType="kPData">
update KPDATA
set CATEGORY= #{kp1.category}
where SAL in
<foreach item="item1" index="index" collection="kp1.sal" open="("
separator="," close=")">
#{item1}
</foreach>
</update>
和您的界面文件
public void setKP1(final @Param(“kp1”)KPData kp1)抛出异常;
如果您仍想使用hashmap,请参阅链接here