使用Mybatis-Plus时,想要手动插入自增id的值,怎么解决?
今天在做项目的时候,有一个需求就是同步数据库中的内容,本次做的是增量同步数据,想要增量同步,第一个想法就是使用自增id去比对两个库中的数据,查到新数据库中的最大的id,因为是自增,所以需要同步的库中大于这个id的都为新数据。
下面我将需要添加数据的数据库叫为1库,有数据的为2库
于是:
2库:
我将1库清空
执行数据同步:
但是结果出乎我的意料,
因为主键是自增的,所以新插入的数据主键为自增向下排,也就是id从137开始的
,
这会让下次同步的时候出现数据错误,
解决:
属性:
加入手动输入属性就好
@TableId(value = "id",type = IdType.INPUT)
public enum IdType {
AUTO(0), //自增
NONE(1), //未设置主键
INPUT(2), //手动输入
ASSIGN_ID(3), //默认全局唯一ID
ASSIGN_UUID(4), //全局唯一的 uuid