欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MyBatis-Plus updateById不更新null值的方法解決

 更新時(shí)間:2023年08月25日 11:41:31   作者:一碗情深  
用Mybatis-Plus的updateById()來(lái)更新數(shù)據(jù)時(shí),無(wú)法將字段設(shè)置為null值,更新后數(shù)據(jù)還是原來(lái)的值,本文就來(lái)詳細(xì)的介紹一下解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下

前言

在 MyBatis-Plus 中,使用updateById,null字段并不會(huì)更新,其實(shí)是和更新的策略有關(guān),當(dāng)然,也有插入策略,本文基于MyBatis-Plus3.5.2,對(duì)插入和更新策略做講解。

方式一 調(diào)整全局的驗(yàn)證策略

注入全局配置,設(shè)置屬性 insertStrategy、updateStrategy

缺點(diǎn):這樣做會(huì)對(duì)所有的字段都忽略判斷,如果一些字段不想要修改,但是傳值的時(shí)候沒(méi)有傳遞過(guò)來(lái),就會(huì)被更新為null

mybatis-plus:
  global-config:
    db-config:
      insert-strategy: ignored  # "忽略判斷", 所有字段都插入
      update-strategy: ignored  # "忽略判斷", 所有字段都更新

insertStrategy、updateStrategy 屬性的值有以下5種枚舉類(lèi)型:

  • ignored “忽略判斷”, 所有字段都更新或插入
  • not_null “非 NULL 判斷”, 只更新或插入非NULL值
  • not_empty “非空判斷”, 只更新或插入非NULL值且非空字符串
  • default 如果字段的值不為null,則進(jìn)行插入或者更新操作;如果字段的值為null,不執(zhí)行操作,執(zhí)行結(jié)果還是數(shù)據(jù)庫(kù)原來(lái)的值或者默認(rèn)值
  • never 永遠(yuǎn)不進(jìn)行插入或更新操作,即使字段的值不為null

方式二 調(diào)整字段驗(yàn)證注解

在屬性上注解

根據(jù)具體情況,在需要更新或者插入的字段中調(diào)整驗(yàn)證注解,如忽略判斷,任何情況都進(jìn)行插入和更新操作:

@TableField(updateStrategy = FieldStrategy.IGNORED, insertStrategy = FieldStrategy.IGNORED)

方式三 使用 UpdateWrapper

如果沒(méi)有設(shè)置 insert-strategy、update-strategy 的值,默認(rèn)為 default

使用以下方法來(lái)進(jìn)行更新操作,無(wú)設(shè)置的值還是數(shù)據(jù)庫(kù)原來(lái)的值,如下

UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("name", "一碗情深")
    .set("url", "https://blog.csdn.net/xiaohuihui1400")
    .eq("id", 1);
userMapper.update(null, updateWrapper);

或者使用lambda表達(dá)式,只有將屬性賦值,數(shù)據(jù)庫(kù)的值才會(huì)改變,如下,把email設(shè)置成null

mapper.update(
    null,
    Wrappers.<User>lambdaUpdate()
        .set(User::getName, "一碗情深")
		.set(User::getUrl, "https://blog.csdn.net/xiaohuihui1400")
        .set(User::getEmail, null) // 把email設(shè)置成null
        .eq(User::getId, 1)
);

 到此這篇關(guān)于MyBatis-Plus updateById不更新null值的方法解決的文章就介紹到這了,更多相關(guān)MyBatis-Plus updateById不更新null值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論