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