前端传入参数,后端没有写bean, 主要是懒的写 。 直接用map接收插入数据库。
controller层使用sring的webUtils工具接收参数转为map. 接收后在存一次,方便在mapper中遍历
dao层:
mybatis: 存在则更新,不存在则删除。 jjdbh为主键
<insert id="batchAdd" parameterType="map">
MERGE INTO tables ju
using
(
select
<foreach collection="map" index="key" item="value" separator=",">
#{value, jdbcType=VARCHAR} ${key}
</foreach>
from dual
) t1 on (ju.jjdbh = t1.jjdbh) when matched then update set
<foreach collection="map" index="key" item="value" separator=",">
<if test=" key != 'jjdbh'">
ju.${key} = t1.${key}
</if>
</foreach>
when not matched then insert (
<foreach collection="map" index="key" item="value" separator=",">
${key}
</foreach>
)values
(
<foreach collection="map" index="key" item="value" separator=",">
#{value, jdbcType=VARCHAR}
</foreach>
)
</insert>