在debug别人的代码的时候产生了一个疑问在这里记录一下
简述问题: 前端传过来一个dto(id为null),然后使用mybatis-plus的save()将这条数据插入数据库,后续有使用到这个dto的id进行逻辑处理,但是!!!!!在这个场景下前端传过来的id永远为null,为什么在save()之后进行dto.getId()的时候获取到了id
查阅资料之后解释mybatis-plus进行save()之后会发生的步骤:
- 你调用
save
方法,并传入一个实体对象。 - MyBatis-Plus将这个实体对象映射到数据库表,并准备执行插入操作。
- 数据库生成自增主键的值。
- 插入操作执行成功后,MyBatis-Plus返回插入的实体对象。
重点就是第四步,一句话解释就是save()之后当前的实体对象就是数据库中的那一条数据