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

Mybatis-Plus將字段設(shè)置為null解決方法

 更新時間:2023年04月25日 11:10:53   作者:Java小白筆記  
MyBatis-Plus是一個MyBatis的增強工具,在MyBatis的基礎(chǔ)上只做增 強不做改變,為簡化開發(fā)、提高效率而生,下面這篇文章主要給大家介紹了關(guān)于Mybatis-Plus將字段設(shè)置為null的解決方法的相關(guān)資料,需要的朋友可以參考下

Mybatis-Plus將字段設(shè)置為null

項目場景:

最近在做一個需求的時候需要把數(shù)據(jù)庫中的某個字段設(shè)置為空

問題描述:

在代碼中通過set方法對一個字段設(shè)置成null,發(fā)現(xiàn)并沒有起作用

原因分析:

經(jīng)過查詢是因為Mybatis-Plus默認(rèn)的更新策略設(shè)置的問題,Mybatis-Plus中FieldStrategy有三種策略:

  • IGNORED:忽略。不管有沒有有設(shè)置屬性,所有的字段都會設(shè)置到insert語句中,如果沒設(shè)置值會更新為null;
  • NOT_NULL:非 NULL,默認(rèn)策略。也就是忽略null的字段,不忽略"";
  • NOT_EMPTY:非空。為null,為空串的忽略,就是如果設(shè)置值為null,“”,不會插入數(shù)據(jù)庫;

默認(rèn)的是NOT_NULL,也就是忽略null字段,所以更新不成功。

解決方案:

需對 FieldStrategy 策略進(jìn)行調(diào)整,有如下三種方式:

方式一:調(diào)整全局的驗證策略,如下:

mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  typeAliasesPackage: com.test.application.test.admin.entity
  global-config:
    #主鍵類型  0:"數(shù)據(jù)庫ID自增", 1:"用戶輸入ID",2:"全局唯一ID (數(shù)字類型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 0
    #字段策略 0:"忽略判斷",1:"非 NULL 判斷"),2:"非空判斷"
    field-strategy: 0
    #駝峰下劃線轉(zhuǎn)換
    db-column-underline: true
    #刷新mapper 調(diào)試神器
    refresh-mapper: true
    #數(shù)據(jù)庫大寫下劃線轉(zhuǎn)換
    #capital-mode: true
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

方式二:【推薦】調(diào)整字段驗證注解

Mybatis-Plus 版本3.1.2及以上,根據(jù)具體情況,在需要更新的字段中調(diào)整驗證注解,如驗證非空:

@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
private String name;

或者單個的例子:

@TableField(updateStrategy = FieldStrategy.IGNORED)
private String username;

方式三:使用 UpdateWrapper (3.x)

使用以下方法來進(jìn)行更新或插入操作:

//updateAllColumnById(entity) // 全部字段更新: 3.0已經(jīng)移除
mapper.update(
  new User().setName("mp").setAge(3),
  Wrappers.<User>lambdaUpdate()
          .set(User::getEmail, null) //把email設(shè)置成null
          .eq(User::getId, 2)
);

// 也可以參考下面這種寫法
mapper.update(
   null,
   Wrappers.<User>lambdaUpdate()
      .set(User::getAge, 3)
      .set(User::getName, "mp")
      .set(User::getEmail, null) // 把email設(shè)置成null
      .eq(User::getId, 2)
);

總結(jié)

到此這篇關(guān)于Mybatis-Plus將字段設(shè)置為null的文章就介紹到這了,更多相關(guān)Mybatis-Plus字段設(shè)置null內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實現(xiàn)從字符串中找出數(shù)字字符串的方法小結(jié)

    Java實現(xiàn)從字符串中找出數(shù)字字符串的方法小結(jié)

    這篇文章主要介紹了Java實現(xiàn)從字符串中找出數(shù)字字符串的方法,結(jié)合實例形式總結(jié)分析了Java查找數(shù)字字符串的常用技巧,需要的朋友可以參考下
    2016-03-03
  • Java二叉樹的四種遍歷方式詳解

    Java二叉樹的四種遍歷方式詳解

    這篇文章主要介紹了Java二叉樹的四種遍歷,二叉樹的遍歷可以分為前序、中序、后序、層次遍歷,需要的朋友可以參考下
    2021-11-11
  • Java調(diào)用Pytorch實現(xiàn)以圖搜圖功能

    Java調(diào)用Pytorch實現(xiàn)以圖搜圖功能

    這篇文章主要為大家詳細(xì)介紹了Java如何調(diào)用Pytorch實現(xiàn)以圖搜圖功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下
    2023-06-06
  • 使用SpringSecurity 進(jìn)行自定義Token校驗

    使用SpringSecurity 進(jìn)行自定義Token校驗

    這篇文章主要介紹了使用SpringSecurity 進(jìn)行自定義Token校驗操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java如何使用ReentrantLock實現(xiàn)長輪詢

    Java如何使用ReentrantLock實現(xiàn)長輪詢

    這篇文章主要介紹了如何使用ReentrantLock實現(xiàn)長輪詢,對ReentrantLock感興趣的同學(xué),可以參考下
    2021-04-04
  • SpringMVC Mock測試實現(xiàn)原理及實現(xiàn)過程詳解

    SpringMVC Mock測試實現(xiàn)原理及實現(xiàn)過程詳解

    這篇文章主要介紹了SpringMVC Mock測試實現(xiàn)原理及實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • SpringBoot解決跨域的超實用方案分享

    SpringBoot解決跨域的超實用方案分享

    這篇文章介紹了使用SpringBoot解決跨域問題的方法,并提供了詳細(xì)的代碼示例和解釋,適合對跨域問題不太熟悉的讀者,感興趣的小伙伴跟著小編一起來學(xué)習(xí)吧
    2023-05-05
  • SpringCloud微服務(wù)中跨域配置的方法詳解

    SpringCloud微服務(wù)中跨域配置的方法詳解

    在使用SpringCloud實現(xiàn)微服務(wù)時,經(jīng)常會碰到前端頁面訪問多個二級域名的情況,跨域是首先要解決的問題。解決這個問題,可以從兩方面入手,一種方案是在微服務(wù)各自的業(yè)務(wù)模塊中實現(xiàn),即在SpringBoot層實現(xiàn),另外一種方案就是在Gateway層實現(xiàn)
    2023-02-02
  • 10分鐘搞定Java并發(fā)隊列

    10分鐘搞定Java并發(fā)隊列

    這篇文章主要介紹了Java并發(fā)隊列,對此感興趣的同學(xué),可以參考下
    2021-04-04
  • java布局管理之CardLayout簡單實例

    java布局管理之CardLayout簡單實例

    這篇文章主要為大家詳細(xì)介紹了java布局管理之CardLayout的簡單實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03

最新評論