Java 8 MyBatis Plus LambdaUpdateWrapper 重复设置字段行为
在 Java 8 中使用 MyBatis Plus 的 LambdaUpdateWrapper 进行更新时,如果对同一个字段进行多次设置,最新的设置会覆盖之前的设置,不会报错。
例如,假设有一个名为'User'的实体类,包含'id'、'name'和'age'字段,我们想要更新用户信息:
LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(User::getId, 1L)
.set(User::setName, 'John')
.set(User::setName, 'Doe')
.set(User::setAge, 30);
userMapper.update(null, updateWrapper);
在上面的代码中,我们首先使用 eq 方法设置了条件,然后使用 set 方法对'name'字段进行两次设置。最终,只会以最后一次设置的值为准,即'name'字段的值会被更新为'Doe',而不是'John'。另外,我们还使用 set 方法对'age'字段进行了设置。
请注意,LambdaUpdateWrapper 的 set 方法可以多次调用,每次调用都会将最新的设置存储在内部,但只有最后一次设置会生效。
原文地址: https://www.cveoy.top/t/topic/qc73 著作权归作者所有。请勿转载和采集!