记录mybatis-plus的save()操作

文章讨论了在前端传入DTO(id为null)的情况下,使用MyBatis-Plus的save()方法插入数据库后,如何获取到非空的自增ID。作者发现save()操作后,实体对象已包含数据库中新插入的数据,包括自动生成的ID。
摘要由CSDN通过智能技术生成

在debug别人的代码的时候产生了一个疑问在这里记录一下

简述问题: 前端传过来一个dto(id为null),然后使用mybatis-plus的save()将这条数据插入数据库,后续有使用到这个dto的id进行逻辑处理,但是!!!!!在这个场景下前端传过来的id永远为null,为什么在save()之后进行dto.getId()的时候获取到了id

查阅资料之后解释mybatis-plus进行save()之后会发生的步骤:

  1. 你调用save方法,并传入一个实体对象。
  2. MyBatis-Plus将这个实体对象映射到数据库表,并准备执行插入操作。
  3. 数据库生成自增主键的值。
  4. 插入操作执行成功后,MyBatis-Plus返回插入的实体对象。

    重点就是第四步,一句话解释就是save()之后当前的实体对象就是数据库中的那一条数据
     
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值