MyBatis-Plus更新部分字段


使用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的字段。

原文地址


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM