没有增量接口下的数据刷表insertOrUpdate
常见业务需求,merge 操作
项目出现这样一个需求
合同中心签署合同,其中基础平台维护了一些公司主体信息,法人和 公司注册地是从那边拿,但是在我们子系统这边 签署合同时,有些基础工资和工作地点需要每次填写到合同中,业务方考虑直接维护到主体上,因此考虑将基础平台的数据落表到我们数据,维护其他额外字段。因此考虑这种方案。
mySql 实现方式
mybatis-plus 的实现方案为主键查找数据是否存在,然后调用相对应update 和save 方法 但考虑到实际业务是基础服拿接口维护,数据唯一标识很多状况有些为字符串和其他类型*
从数据库层面实现利用数据库索引特性:
- mysql 的实现(业务id 不能重复的业务ID)
mysql 自带一个判读函数 语句 ON DUPLICATE KEY UPDATE 实现根据业务id 存在即update 不存在 insert 用法如下 mybatis 中多条 插或update
INSERT INTO contract_subject (a,b,c,d,e) VALUES
<f oreach collection="list" item="item" index="index" separator=",">
(#{item.a},