mybaits 如果数据库中有这条数据就修改,如果没有就新增

有的时候会接到这样的需求:如果数据库中有这条数据就修改,如果没有就修改。

在之前接到这个需求,首先思路是:先到数据查询有没有这条数据,有的话就走修改,没有的话就走新增。

之后找到了这种解决方案:贴出来分享一下,这些语句都是在mybaits下使用的

oracle:

merge into table p
using (select '${column}' columnfrom dual) d

on  (d.column= p.column)

when matched then update 语句 

when not matched then insert 语句

mysql:

insert into emailverify  (1, 2) values (#{1},#{2}) on duplicate key update 2= #{2}

意思就是,根据唯一标识字段查询数据库是否有这条数据,如果匹配的话就做更新操作,如果不匹配的话就做新增操作。

 

posted @ 2017-02-17 09:39  zhi昕  阅读(2839)  评论(0编辑  收藏  举报