mybatis存在更新不存在新增
主键或者唯一索引,有相同的字段进行添加时进行其他字段更新,否则进行新增
<insert id="insertfwdcblacklist" parametertype="com.qujie.mintwo.life.fwdc.entity.fwdcblacklist"> insert into fwdc_blacklist <trim prefix="(" suffix=")" suffixoverrides=","> <if test="id != null">id,</if> <if test="shopid != null">shop_id,</if> <if test="shopname != null">shop_name,</if> <if test="sdmerid != null">sdmerid,</if> <if test="shieldfunction != null">shield_function,</if> <if test="creditcode != null">credit_code,</if> <if test="idcard != null">idcard,</if> <if test="addtime != null">add_time,</if> <if test="adduserid != null">add_user_id,</if> <if test="updatetime != null">update_time,</if> <if test="updateuserid != null">update_user_id,</if> <if test="remark != null">remark,</if> </trim> <trim prefix="values (" suffix=")" suffixoverrides=","> <if test="id != null">#{id},</if> <if test="shopid != null">#{shopid},</if> <if test="shopname != null">#{shopname},</if> <if test="sdmerid != null">#{sdmerid},</if> <if test="shieldfunction != null">#{shieldfunction},</if> <if test="creditcode != null">#{creditcode},</if> <if test="idcard != null">#{idcard},</if> <if test="addtime != null">#{addtime},</if> <if test="adduserid != null">#{adduserid},</if> <if test="updatetime != null">#{updatetime},</if> <if test="updateuserid != null">#{updateuserid},</if> <if test="remark != null">#{remark},</if> </trim> on duplicate key update shield_function=#{shieldfunction} </insert>
mybatis存在就更新,不存在就插入
条件
主键或唯一索引在现有表中已经存在
方法
on duplicate key update
<update id= "userinfo"> insert into user (id,username,age) values (#{id},#{username},#{age}) on duplicate key update username=values(username), age=values(age) <update>
当id在现有表中存在时,就会执行update语句
注意事项:
- 后台用integer
- 而非int去接收传参(integer初始值为null,而int初始值为0)
- 否则插入失败
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论