最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MybatisPlus更新時(shí)部分失敗的問題解決

 更新時(shí)間:2023年06月27日 10:13:26   作者:韓_師兄  
這篇文章主要為大家詳細(xì)介紹了MybatisPlus更新時(shí)部分失敗的問題分析和解決方法,文中的代碼示例講解的非常詳細(xì),需要的朋友可以參考下

1 問題模擬

1 添加依賴

在spring環(huán)境添加下面依賴包,如springboot環(huán)境,則添加另一個(gè)依賴包.

spring環(huán)境

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.4.0</version>
        </dependency>

springboot環(huán)境

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.0</version>
        </dependency>

2 添加實(shí)體對(duì)象

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("dev_student") // 表名
public class Student {
    // 主鍵
    @TableId
    private String id;
    private String score;
    private String name;
    private Integer age;
    private Date creatTime;
    private String desc;
}

3 模擬調(diào)用

    @Test
    public void testUpdateById(){
        // 參數(shù)從前端傳遞,此處模擬獲取
        Student student = new Student();
        student.setId("1111");
        student.setName("小明");
        student.setAge(18);
        student.setCreatTime(new Date());
        // 模擬前端更新 刪除了備注信息
        student.setDesc("");
        // 模擬前端更新 將字段指為空傳遞
        student.setScore(null);
        studentMapper.updateById(student);
    }

4 查詢結(jié)果

SQL語句目標(biāo): 將id為1111的對(duì)應(yīng)的表字段更新為我們?cè)O(shè)置的值.

執(zhí)行結(jié)果: 發(fā)現(xiàn)id為1111的數(shù)據(jù),其他信息都進(jìn)行了修改,備注和分?jǐn)?shù)字段沒有被修改.不符合我們的目標(biāo)要求.

2 問題分析

根據(jù)上述問題分析,懷疑是不是配置有問題,導(dǎo)致數(shù)據(jù)沒有更新成功.

官網(wǎng)簡(jiǎn)介:MyBatis-Plus (baomidou.com)

查詢了一下官網(wǎng)信息:

mybatis-plus 配置文件后,有個(gè)global-config 全局配置,里面配置了更新、插入策略。

全局策略有:

  • IGNORED:忽略
  • NOT_NULL:非 NULL,默認(rèn)策略
  • NOT_EMPTY:非空

關(guān)于mybatis-plus插入或更新的字段有 空字符串 或者 null 時(shí),默認(rèn)是不進(jìn)行更新數(shù)據(jù)庫(kù)的.

此外,還能對(duì)單個(gè)字段進(jìn)行插入或更新設(shè)置.

關(guān)聯(lián)的字段策略有:

  • IGNORED:忽略
  • NOT_NULL:非 NULL,默認(rèn)策略
  • NOT_EMPTY:非空
  • NEVER 從不更新,不管字段是否有值,都不進(jìn)行更新
  • DEFAULT 追隨全局配置

問題解決

1 全局設(shè)置

mybatis-plus:
  global-config:
    db-config:
      update-strategy: IGNORED

2 字段設(shè)置

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("dev_student")
public class Student {
    @TableId
    private String id;
    private String score;
    private String name;
    private Integer age;
    private Date creatTime;
    // 更新時(shí) 忽略 不做判空和null校驗(yàn)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String desc;
}

3 問題總結(jié)

關(guān)于mybatis-plus更新時(shí)部分字段失敗的問題, 查看官方文檔后,很容易知道問題在哪里,修改起來也很方便. 對(duì)于未知的新技術(shù),需要多多去學(xué)習(xí)和關(guān)注官方文檔,才能更好的使用它.

到此這篇關(guān)于MybatisPlus更新時(shí)部分失敗的問題解決的文章就介紹到這了,更多相關(guān)MybatisPlus更新失敗內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?自定義注解在登錄驗(yàn)證的應(yīng)用示例

    Java?自定義注解在登錄驗(yàn)證的應(yīng)用示例

    本文主要介紹了Java?自定義注解在登錄驗(yàn)證的應(yīng)用示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 詳解spring-boot actuator(監(jiān)控)配置和使用

    詳解spring-boot actuator(監(jiān)控)配置和使用

    本篇文章主要介紹了spring-boot actuator(監(jiān)控)配置和使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Java8時(shí)間api之LocalDate/LocalDateTime的用法詳解

    Java8時(shí)間api之LocalDate/LocalDateTime的用法詳解

    在項(xiàng)目中,時(shí)間的使用必不可少,而java8之前的時(shí)間api?Date和Calander等在使用上存在著很多問題,于是,jdk1.8引進(jìn)了新的時(shí)間api-LocalDateTime,本文就來講講它的具體使用吧
    2023-05-05
  • idea修改language level版本實(shí)現(xiàn)方式

    idea修改language level版本實(shí)現(xiàn)方式

    文章介紹了在不同版本JDK之間的切換時(shí)遇到的語言級(jí)別版本問題的解決方案,通過修改系統(tǒng)環(huán)境變量、Maven配置和IDEA設(shè)置,可以實(shí)現(xiàn)不同JDK版本的切換,并確保項(xiàng)目順利編譯和運(yùn)行
    2025-12-12
  • 詳解JAVA的封裝

    詳解JAVA的封裝

    Java面向?qū)ο蟮娜筇匦裕悍庋b、繼承、多態(tài)。下面對(duì)三大特性之一封裝進(jìn)行了總結(jié),需要的朋友可以參考下
    2017-04-04
  • 淺談HashMap中7種遍歷方式的性能分析

    淺談HashMap中7種遍歷方式的性能分析

    本文先從HashMap的遍歷方法講起,然后再?gòu)男阅?、原理以及安全性等方面,來分析HashMap各種遍歷方式的優(yōu)勢(shì)與不足
    2021-06-06
  • Spring MVC常用客戶端參數(shù)接收方式詳解

    Spring MVC常用客戶端參數(shù)接收方式詳解

    這篇文章主要介紹了Spring MVC常用客戶端參數(shù)接收方式詳解,文章主要介紹了幾種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • 最新評(píng)論

    留坝县| 蛟河市| 汾西县| 克东县| 卓尼县| 乐昌市| 桐庐县| 冷水江市| 郎溪县| 黄陵县| 紫云| 泸溪县| 阿克陶县| 尚志市| 肇庆市| 博客| 江源县| 西安市| 海淀区| 沁水县| 卢龙县| 潞西市| 锦屏县| 南投市| 县级市| 通榆县| 砚山县| 鹿邑县| 四子王旗| 汉阴县| 清丰县| 山阴县| 陇南市| 建阳市| 治多县| 长沙县| 凉城县| 达日县| 高阳县| 象州县| 略阳县|