原创

MyBatis-Plus更新部分字段

温馨提示:
本文最后更新于 2024年02月07日,已超过 18 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

使用MyBatis-Plus时,有时候我们在更新实体时,可能只想更新部分字段。下面介绍两种更新部分字段的方法。

一、先查询后更新的方式

这种方式不是很好,说白了就是先执行一遍查询,查询到实体后,设置修改的属性,再次调用update方法更新,这样MyBatis只会更新修改的字段。

二、通过UpdateWrapper更新

 LambdaUpdateWrapper<OilUser> userUpdateWrapper = new LambdaUpdateWrapper<>();
            userUpdateWrapper.set(OilUser::getUsername, user.getUsername());
            userUpdateWrapper.set(OilUser::getNickName, user.getNickName());
            userUpdateWrapper.set(OilUser::getTel, user.getTel());
            userUpdateWrapper.set(OilUser::getEmail, user.getEmail());
            if (!StringUtils.isEmpty(user.getPassword())) {
                userUpdateWrapper.set(OilUser::getPassword, passwordEncoder.encode(user.getPassword()));
            }
            userUpdateWrapper.eq(OilUser::getId, user.getId());
            oilUserMapper.update(null, userUpdateWrapper);

注意oilUserMapper.update(null, userUpdateWrapper);,第一个参数一定要设置null,这样就只会更新你set的字段。

正文到此结束
本文目录