MyBatisplus相关问题,引用类型传参

img

img


图中红色标记的地方不明白,不明白第二张图中user.getId()和第一张图中user.setId(userId)这个部分。user是引用类型,引用类型作为参数传递,两张图中的user不应该是同一个吗?第二张图执行了userMapper.insert(user)后,user有的Id,第一张图中的user不应该也有了Id吗,为什么要执行user.setId(userId)?

是同一个,所以第二张图中user.getId()和第一张图中user.setId(userId)这个部分是多余的,
但写上也不影响,可能只是为了提高可读性吧
如果能帮到你,请点击下【采纳】,非常感谢

这应该是冗余的代码
你可以验证一下 :
把第一张图中的 user.setId(userId) 注释掉 , 然后在这里输出一下 user.getId(); 看看有没有输出, 有输出的则就是冗余代码

两边都是同一个user,第一个传过去就没userId,后面set也一样没有

mybatis的处理,执行完插入以后,会将id写入到bean中,你写不写set都是一样的,