在 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 方法可以多次调用,每次调用都会将最新的设置存储在内部,但只有最后一次设置会生效。

Java 8 MyBatis Plus LambdaUpdateWrapper 重复设置字段行为

原文地址: https://www.cveoy.top/t/topic/qc73 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录