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 兩個字段

根據這種格式寫好之後去執行,完美解決需求,故記錄一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章