Mybatis如果存在该条数据则修改,否则新增

1.前景

今天接到Leader一个需求:数据保存时如果存在该数据则去更新,否则新增

2.思考

查看Mysql的文档知道存在一个函数,挺符合符合我现在的需求

on DUPLICATE key UPDATE

2.1:前提:
表数据必须有**【唯一主键】**,否则无法进行判断该数据是否唯一

2.2:语法

insert into t_wsdm_code(id,code_type,code,type_name)values(1,2,3,4) 
 on DUPLICATE key UPDATE  
 type_name = #{参数}

根据语法写出如下Sql:

  insert into t_wsdm_code(
        id,
        code_type,
        type_name,
        code,
        code_name
        )values (
        #{id},
        #{codeType},
        #{typeName},
        #{code},
        #{codeName}
        )
        <!-- 当主键(code_type、code)重复时,则去更新该条数据 -->
        on DUPLICATE key UPDATE
        <if test="typeName != null">`type_name` = #{typeName}, </if>
        <if test="codeName != null">`code_name` = #{codeName} </if>

我这里【唯一主键】是:code code_type 两个字段

根据这种格式写好之后去执行,完美解决需求,故记录一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值