1.传入的数据key为表的字段,value为值。Map<String, String>。
int saveDatalist(@Param("params")Map<String, String> params);
<!-- 保存新增数据 -->
<insert id="saveDatalist" parameterType="java.util.Map">
insert into ZR_REC_PARKINFO
<foreach collection="params.keys" item="key" index="index" open="(" separator="," close=")">
${key}
</foreach>
values
<foreach collection="params.keys" item="key" index="index" open="(" separator="," close=")">
#{params[${key}]}
</foreach>
</insert>
2.
<!-- 保存新增数据 -->
<insert id="saveDatalistTable" parameterType="java.util.HashMap">
insert into ${table}
<foreach collection="listMap.keys" item="key" index="index" open="(" separator="," close=")">
${key}
</foreach>
values
<foreach collection="listMap.keys" item="key" index="index" open="(" separator="," close=")">
#{listMap[${key}]}
</foreach>
</insert>
3.java.util.Map保存着p_code,list,pama。pama存着一个Map,list是要插入的字段(pama的字段更多)。
<!-- 保存新增数据 -->
<insert id="saveDatalist" parameterType="java.util.Map">
insert into ${p_code}
<foreach collection="list" item="k" index="index" open="(" separator="," close=")">
${k}
</foreach>
values
<foreach collection="list" item="k" index="index" open="(" separator="," close=")">
${pama[k]}
</foreach>
</insert>
4.当表名和字段都不知时,批量操作。java.util.List将上面的Map存入。
<!-- 保存新增数据 -->
<insert id="saveDatalist2" parameterType="java.util.List" useGeneratedKeys="false">
INSERT ALL
<foreach collection = "list" item ="item" index ="index">
into ${item.p_code}
<foreach collection="item.list" item="k" index="index" open="(" separator="," close=")">
${k}
</foreach>
values
<foreach collection="item.list" item="k" index="index" open="(" separator="," close=")">
${item.pama[k]}
</foreach>
</foreach>
select 1 from dual
</insert>