Mybatis 动态动态插入更新数据
程序员文章站
2022-04-22 08:02:53
...
Mybatis 动态动态插入更新数据,在字段名不确定的情况下。
因为表字段也是动态创建的,所以字段名也是动态的。
插入:
1.将字段名封装为一个list
2.将字段值封装为一个list
3.将这两个list存储进一个Map中
4.Mybatis xml文件配置:
<insert id="insertDetail" parameterType="java.util.Map">
insert into table
<foreach collection="key" item="item" index="index" open="(" separator="," close=")">
${item}
</foreach>
values
<foreach collection="value" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</insert>
5.注意:两个list的字段顺序一定要一样。更新:
1.将要更新的字段的名和值存在Map里
2.创建paramMap,将第一步的Map作为一个属性放在paramMap里。
3.将更新条件字段作为一个属性放在paramMap里。
4.Mybatis xml文件配置:
<update id="updateDetail" parameterType="java.util.Map">
update table set
<foreach collection="sizeinfo" item="item" index="index" separator="," >
${index} = #{item}
</foreach>
where
sizeid = #{sizeid}
</update>