mybatisplus自动生成主键导致的删除失败问题

今天在做删除操作的时候发现了一个问题,由于表中的主键我设置的自增,当新增时,使用的mybatisplus自带的新增方法,导致主键过大,当我在做删除操作的时候,前端传递到后台的id已经变了,但是前端识别不出来,后来才发现,当表里面设置的自增时,在mybatisplus中要将自带的自增禁用,否则就会在新增的时候使用mybatisplus生成的id,这个id很明显是大于前端最大默认值的。
在这里插入图片描述

正常情况下,新增的时候,设置了主键自增,那么在新增时,主键是没有值的,如图:
在这里插入图片描述

但是在使用mybatisplus的在做新增操作的时候,我发现主键已经有值了,
在这里插入图片描述

在这里插入图片描述

但是实际前端拿到的主键却是这样的,和表中的主键并不对应:
在这里插入图片描述

这才导致我删除的时候总是删除失败,
所以有两种解决办法:
1:在实体类中加一个注解

 @TableId(type= IdType.AUTO)

不让mybatisplus自动生成一个主键赋值给id,而是按照我们自己设计的在表中让主键自增
在这里插入图片描述

2:将表中的主键类型设为varchar类型,不让其自增,使用mybatsplus的自增,还是用该注解,不过类型要变,这样在新增的时候,主键就会是一个随机的字符串,如图:
在这里插入图片描述
在这里插入图片描述
当执行删除的时候,传递到后台的id依然不变:
在这里插入图片描述

 @TableId(type= IdType.ASSIGN_UUID)

在这里插入图片描述

注解里面的类型选择:
在这里插入图片描述
不管选用哪种方法,都可以实现删除操作了~
描述有误的地方欢迎大家指正,大家有问题可加qq 876942434。一起进步~

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值