国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MyBatis-Plus 更新(update)方法,屬性參數(shù)為空時進(jìn)行更新與不進(jìn)行更新的設(shè)置

這篇具有很好參考價值的文章主要介紹了MyBatis-Plus 更新(update)方法,屬性參數(shù)為空時進(jìn)行更新與不進(jìn)行更新的設(shè)置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

場景:項目整合了mybatisplus,進(jìn)行update更新,前端傳值為空時,數(shù)據(jù)庫也進(jìn)行了更新
        UpdateWrapper updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("shop_id", goodsInfo.getShopId());
        updateWrapper.eq("goods_id", goodsInfo.getGoodsId());
        //獲取修改之前的數(shù)據(jù)
        Map oldValue = iShopGoodsService.getOneOfShopGoods(goodsInfo);
        boolean update = iShopGoodsService.update(goodsInfo, updateWrapper);
        Map newValue = iShopGoodsService.getOneOfShopGoods(goodsInfo);
        //記錄操作日志

解決方案:

在實體類上使用@TableField注解

    /**
     * 是否限量商品 -1不限量商品,其他數(shù)值指定限量幾件
     */
    @TableField(strategy = FieldStrategy.NOT_EMPTY)
    private String limitGoods;

這樣,當(dāng)前端傳過來的limitGoods參數(shù)為null或者空字符串,mybatisplus的更新就會攔截此字符串的更新。

FieldStrategy的源碼中,一共有4種策略類型。


package com.baomidou.mybatisplus.annotation;

/**
 * 字段策略枚舉類
 *
 * @author hubin
 * @since 2016-09-09
 */
public enum FieldStrategy {
    /**
     * 忽略判斷
     */
    IGNORED,
    /**
     * 非NULL判斷
     */
    NOT_NULL,
    /**
     * 非空判斷
     */
    NOT_EMPTY,
    /**
     * 默認(rèn)的,一般只用于注解里
     * <p>1. 在全局里代表 NOT_NULL</p>
     * <p>2. 在注解里代表 跟隨全局</p>
     */
    DEFAULT
}
MyBatis-Plus 更新(update)方法,屬性參數(shù)為空時進(jìn)行更新與不進(jìn)行更新的設(shè)置

附上mybatis-plus官網(wǎng)鏈接地址:

https://baomidou.com/pages/223848/#fieldstrategy

有興趣的小伙伴可以點擊看看文章來源地址http://www.zghlxwxcb.cn/news/detail-503467.html

到了這里,關(guān)于MyBatis-Plus 更新(update)方法,屬性參數(shù)為空時進(jìn)行更新與不進(jìn)行更新的設(shè)置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Boot學(xué)習(xí)隨筆- 集成MyBatis-Plus(三)自定義SQL、分頁實現(xiàn)(PaginationInterceptor )、更新和刪除詳細(xì)方法

    學(xué)習(xí)視頻:【編程不良人】Mybatis-Plus整合SpringBoot實戰(zhàn)教程,提高的你開發(fā)效率,后端人員必備! 自定義mapper文件是為了應(yīng)對一些更復(fù)雜的查詢場景,首先先配置映射路徑 由于這里的mapper文件放在java文件夾中,所以要在pom.xml里進(jìn)行配置 mapper 測試 在MyBatis Plus中, 物理分頁 和 內(nèi)

    2024年02月03日
    瀏覽(26)
  • Mybatis-Plus批量更新原理

    Mybatis-Plus批量更新原理

    IService的updateBatchById方法 默認(rèn)batchSize = 1000 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl#updateBatchById 構(gòu)建了一個回調(diào),進(jìn)入executeBatch方法 在這個方法基本就能看出來了,執(zhí)行1000次方法后執(zhí)行一次flushStatements,也就是說理論上是積累了1000個更新sql,才進(jìn)行一次數(shù)據(jù)庫更新 使用

    2024年02月05日
    瀏覽(20)
  • Mybatis-plus更新字段為null

    更新時,把某些字段的值更新為null,但是目前mybatis-plus的update/updateById會忽略實體類中為null的字段,導(dǎo)致這些字段沒有更新還是原來的值。 網(wǎng)上比較常用的有兩種: 缺點:當(dāng)在其它接口更新別的字段時,本來沒有想更新這個字段,但是也會把這個字段更新為null。 缺點:需

    2024年02月06日
    瀏覽(21)
  • Mybatis-plus怎么更新Null字段?

    本文介紹【Mybatis-plus】updateById()方法不能更新字段為null的原因及解決辦法。 在日常項目開發(fā)過程中,經(jīng)常會使用Mybatis-plus的updateById()方法,快速將接收道德參數(shù)或者查詢結(jié)果中原本不為null的字段更新為null,并且該字段在數(shù)據(jù)庫中可為null,這個時候使用updateById()并不能實現(xiàn)

    2024年02月13日
    瀏覽(37)
  • 批量插入或更新數(shù)據(jù)(MyBatis-plus框架)

    批量插入或更新數(shù)據(jù)(MyBatis-plus框架)

    目錄 1.場景說明 2.DUPLICATE?和REPLACE比較 3.批量插入或者更新(兩種方式) 方式一:mybatis-plus的saveOrUpdateBatch方法 問題:如果操作類集成了基礎(chǔ)類,比如封裝了BaseEntity去集成,那么這樣使用會出問題 方式二:on duplicate key (推薦) 4.注意 5.常見問題? 插入數(shù)據(jù)時,我們經(jīng)常會遇到這

    2024年02月04日
    瀏覽(23)
  • mybatis-plus 自動填充創(chuàng)建時間/更新時間

    mybatis-plus 自動填充創(chuàng)建時間/更新時間

    方式一:數(shù)據(jù)庫級別 創(chuàng)建時間create_time字段設(shè)置類型為timestamp,默認(rèn)值為CURRENT_TIMESTAMP; 更新時間update_time字段設(shè)置類型為timestamp,默認(rèn)值為CURRENT_TIMESTAMP,勾選 根據(jù)當(dāng)前時間戳更新 。 實體類createTime字段設(shè)置數(shù)據(jù)類型為Date; 實體類updateTime字段設(shè)置數(shù)據(jù)類型為Date。 注意:

    2024年02月14日
    瀏覽(33)
  • mybatis-plus更新字段為null值

    mybatis-plus更新字段為null值

    mybatis-plus相信大家都不陌生所以不在介紹 首先我們先看一下mybatis-plus的官網(wǎng)上的介紹 ?官網(wǎng)推薦的有三種方式可以實現(xiàn) 第一種:調(diào)整全局策略, mybatis-plus默認(rèn)的全局策略為NOT_NULL非空默認(rèn)策略,其實就是當(dāng)更新是某個字段為空,則不對該字段進(jìn)行更新,這也是我們常用的策略所此種

    2024年02月14日
    瀏覽(24)
  • MyBatis-Plus中的更新操作(通過id更新和條件更新)

    MyBatis-Plus中的更新操作(通過id更新和條件更新)

    目錄 前言 一、通過id更新 二、條件更新 2.1 使用QueryWrapper進(jìn)行條件更新 2.2 使用UpdateWrapper進(jìn)行條件更新 總結(jié)? 本文學(xué)習(xí)MP中的更新操作方法,帶大家一起查看源碼,了解更新操作的方法。學(xué)會熟練地去運(yùn)用更新方法解決自己在項目中的問題。 Mybatis-Plus知識點[MyBatis+MyBatis-Pl

    2024年02月06日
    瀏覽(19)
  • Mybatis-plus通過其他字段批量更新或新增

    根據(jù)某個或者多個非ID字段進(jìn)行批量更新 示例通過名稱與id兩個字段更新 引用mybatis-plus根據(jù)某個指定字段批量更新數(shù)據(jù)庫 通過其他字段批量更新或新增

    2024年02月12日
    瀏覽(19)
  • MyBatis-plus更新對象時將字段值更新為null

    ????????mybatis-plus在執(zhí)行更新操作,當(dāng)更新字段為 空字符串 或者 null 的則不會執(zhí)行更新。如果要將指定字段更新null,可以通過以下三種方式實現(xiàn)。 1、全局配置 ????????可以在 application.yml 配置文件中注入配置 GlobalConfiguration 屬性 update-strategy, 將 update-strategy 策略調(diào)

    2024年02月15日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包