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

mybatis-plus使用this.baseMapper.update和updateById更新null值不生效

這篇具有很好參考價(jià)值的文章主要介紹了mybatis-plus使用this.baseMapper.update和updateById更新null值不生效。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

mybatis-plus 在 serviceImpl 層可以直接使用 this.baseMapper.update 和 updateById ,
如果更新的字段值是null,這時(shí)候需更新為 null 的字段更新不成功。打印的 sql 也沒有更新為 null 的字段。

原因:

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

解決:
1)當(dāng)需要設(shè)置可能為null的字段,需要用 lambdaUpdate()
使用方法為:

        this.lambdaUpdate()
            .set(對(duì)象::get字段名, 需要修改為什么樣的值)
            .eq(對(duì)象::get條件字段名, 條件滿足這個(gè)值)
            .update(new 對(duì)象());
            
      // 舉個(gè)例子
            this.lambdaUpdate()
            .set(User::getName(), name)
            .eq(User::getUserId, userId)
            .update(new User());

或者文章來源地址http://www.zghlxwxcb.cn/news/detail-542478.html

  sysUserService.update(null, new LambdaUpdateWrapper<SysUser>()
                .eq(SysUser::getUsername,username)
                .set(SysUser::getName,null)
                .set(SysUser::getPassword,null)
        );

  1. 實(shí)體類需更新的字段上 加注解
    @TableField(updateStrategy = FieldStrategy.IGNORED)
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
private String name;

單個(gè)的例子:

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

到了這里,關(guān)于mybatis-plus使用this.baseMapper.update和updateById更新null值不生效的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

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

    解決方案: 在實(shí)體類上使用@TableField注解 FieldStrategy的源碼中,一共有4種策略類型。 附上mybatis-plus官網(wǎng)鏈接地址: https://baomidou.com/pages/223848/#fieldstrategy 有興趣的小伙伴可以點(diǎn)擊看看

    2024年02月11日
    瀏覽(25)
  • 關(guān)于Mybatis Plus中BaseMapper和IService

    關(guān)于Mybatis Plus中BaseMapper和IService

    BaseMapper是Mybatis Plus提供的基礎(chǔ)Mapper接口。它提供了常見的CRUD操作方法,如插入、修改、刪除和查詢等。BaseMapper是一個(gè)通用接口,可以適用于各種實(shí)體類的操作。這減少了開發(fā)人員需要編寫的代碼量,提高了開發(fā)效率。 IService是Mybatis Plus提供的服務(wù)接口。它提供了一些高級(jí)的

    2024年02月08日
    瀏覽(15)
  • 當(dāng)mybatis-plus遇到這個(gè)報(bào)錯(cuò)的時(shí)候Update your application’s configuration. The following values are valid: 本人親測(cè),

    當(dāng)mybatis-plus遇到這個(gè)報(bào)錯(cuò)的時(shí)候Update your application’s configuration. The following values are valid: 本人親測(cè),已經(jīng)解決問題啦~ 檢查代碼的application.yml 這個(gè)文件是否有這個(gè)配置 如果這個(gè)配置的話,就直接刪掉,這樣項(xiàng)目就不會(huì)報(bào)錯(cuò)啦~

    2024年01月21日
    瀏覽(23)
  • 【MyBatis-Plus】MyBatis進(jìn)階使用

    【MyBatis-Plus】MyBatis進(jìn)階使用

    目錄 一、MyBatis-Plus簡(jiǎn)介 1.1 介紹 1.2 優(yōu)點(diǎn) 1.3 結(jié)構(gòu) 二、MyBatis-Plus基本使用 2.1 配置 2.2 代碼生成 2.3 CRUD接口測(cè)試 三、MyBatis-Plus策略詳解 3.1 主鍵生成策略 3.2 雪花ID生成器 3.3 字段自動(dòng)填充策略 3.4 邏輯刪除 四、MyBatis-Plus插件使用 4.1?樂觀鎖插件 4.1.1?什么是樂觀鎖和悲觀鎖? 4.

    2024年02月04日
    瀏覽(21)
  • Mybatis-plus 使用

    Mybatis-plus 使用

    ? ? ? ? mybatis-plus提供了 ·@TableName·, @TableId, @TableField,?@TableLogic 四種注解,其含義分別為: ?@TableName ? ? ? ? ?@TableName(\\\"SPF_Require_Vehicle\\\")? ? 用于聲明當(dāng)前class所對(duì)應(yīng)數(shù)據(jù)庫中的表,如果class的名字和表的名字完全相同,則不需要添加該注解,如果不一樣,則需要用該注解進(jìn)

    2024年02月07日
    瀏覽(20)
  • mybatis-plus分頁total為0,分頁失效,mybatis-plus多租戶插件使用

    背景:項(xiàng)目使用mybatis分頁插件不生效,以及多租戶使用時(shí)讀取配置異常 多租戶插件使用遇到的問題: 最開始在MyTenantLineHandler中使用 @Value(\\\"${tables}\\\"),服務(wù)啟動(dòng)時(shí)能從配置中心拉取到配置,但在運(yùn)行時(shí)獲取到的值為空,試了很多方法都不生效,后面將配置中心的配置在調(diào)用My

    2024年02月06日
    瀏覽(21)
  • Mybatis-plus的使用

    Mybatis-plus的使用 一、簡(jiǎn)介 Mybatis-plus的基于mybatis的,簡(jiǎn)化了單表mybatis的操作。 注意:它并沒有提升性能,只是簡(jiǎn)化了開發(fā)過程。 二、在springboot中的基本使用 1、導(dǎo)入依賴 2、添加相應(yīng)的數(shù)據(jù)庫配置(application.properties) 3、在Application類上添加dao接口的路徑掃描 4、編寫實(shí)體類

    2024年02月09日
    瀏覽(19)
  • Mybatis-plus框架使用配置

    MyBatis-Plus(簡(jiǎn)稱 MP)是一個(gè)基于 MyBatis 的增強(qiáng)工具,它對(duì) Mybatis 的基礎(chǔ)功能進(jìn)行了增強(qiáng),但未做任何改變。使得我們可以可以在 Mybatis 開發(fā)的項(xiàng)目上直接進(jìn)行升級(jí)為 Mybatis-plus,正如它對(duì)自己的定位,它能夠幫助我們進(jìn)一步簡(jiǎn)化開發(fā)過程,提高開發(fā)效率。 Mybatis-Plus 其實(shí)可以看

    2024年02月09日
    瀏覽(23)
  • Mybatis-Plus使用方法

    MyBatis-Plus 提供了豐富的增強(qiáng)版的 CRUD 方法,使得開發(fā)者能夠更簡(jiǎn)潔、高效地進(jìn)行數(shù)據(jù)庫操作。以下是如何使用 MyBatis-Plus 自帶的增強(qiáng)版 CRUD 方法的基本步驟: 添加依賴 首先,確保你的 Maven 項(xiàng)目中已經(jīng)添加了 MyBatis-Plus 的相關(guān)依賴,包括核心依賴和數(shù)據(jù)庫驅(qū)動(dòng)依賴。 xml復(fù)制代

    2024年04月11日
    瀏覽(19)
  • mybatis-plus與mybatis同時(shí)使用別名問題

    mybatis-plus與mybatis同時(shí)使用別名問題

    在整合mybatis和mybatis-plus的時(shí)候發(fā)現(xiàn)一個(gè)小坑,單獨(dú)使用mybatis,配置別名如下: XML映射文件如下: 單元測(cè)試發(fā)現(xiàn)沒有問題 添加mybatis-plus依賴后,單元測(cè)試報(bào)錯(cuò): 顯示無法解析XML映射文件中的student 解決辦法:要把配置文件里的別名配置改成mybatis-plus的配置,如下: 區(qū)別

    2024年04月13日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包