中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用mybatisplus修改某字段為null怎么解決

發布時間:2023-02-22 16:25:28 來源:億速云 閱讀:219 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“使用mybatisplus修改某字段為null怎么解決”,內容詳細,步驟清晰,細節處理妥當,希望這篇“使用mybatisplus修改某字段為null怎么解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

    mybatis-plus想要修改某字段為null

    問題場景

    使用mybatis + mybatisPlus進行修改某字段,想要將其設為null, 但執行時沒有成功。

    原因

    mybatis-plus會將所有為空的字段在修改時進行過濾,不進行設為空的修改操作。

    解決辦法

    在相關字段上加上注解

    @TableField(strategy = FieldStrategy.IGNORED)

    例:

    @TableField(strategy = FieldStrategy.IGNORED)
    private Long classId;

    mybatis-plus更新字段為null不生效

    1.異常說明

    mapper.updateById()時,set為null未生效,其他字段更新

    periodRecordOriginal.setSettleTime(null);
    periodRecordOriginal.setActualSettleTime(null);
    periodRecordOriginal.setSettleStatus(0);
    int i = periodRecordMapper.updateById(periodRecordOriginal);

    2.原理

    MyBatis-Plus對字段的驗證策略導致的,MyBatis-Plus默認進?了不是全量更新的策略,默認忽略為null 的字段的

    3.解決辦法

    1)修改MyBatis-Plus 全局默認策略

    缺點:這樣做會對所有的字段都忽略判斷,如果一些字段不想要修改,但是傳值的時候沒有傳遞過來,就會被更新為null

    mybatis-plus:
      global-config:
          #字段策略 0:"忽略判斷",1:"非 NULL 判斷",2:"非空判斷"
        field-strategy: 0

    2)修改實體類注解,改變字段的忽略判斷

    缺點:需要注意數據庫字段是否設置為 非null ,如果為非null 也更新不成功

    @TableField( updateStrategy = FieldStrategy.IGNORED)
        private Date settleTime;

    讀到這里,這篇“使用mybatisplus修改某字段為null怎么解決”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    阿合奇县| 应城市| 桃园市| 宁陵县| 牙克石市| 武功县| 开化县| 延川县| 克山县| 垫江县| 西和县| 辽宁省| 宁德市| 林州市| 丹巴县| 蓬溪县| 陆良县| 灵山县| 青海省| 崇州市| 恩平市| 正阳县| 龙井市| 新化县| 兴城市| 同心县| 邵阳县| 徐水县| 云阳县| 葫芦岛市| 宣威市| 盐城市| 吴忠市| 石城县| 岳普湖县| 新丰县| 奇台县| 昆山市| 防城港市| 高台县| 木里|