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

MybatisPlus更新時部分失敗的問題解決

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

1 問題模擬

1 添加依賴

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

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 添加實體對象

@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的對應(yīng)的表字段更新為我們設(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)簡介:MyBatis-Plus (baomidou.com)

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

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

全局策略有:

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

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

此外,還能對單個字段進(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;
    // 更新時 忽略 不做判空和null校驗
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String desc;
}

3 問題總結(jié)

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

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

相關(guān)文章

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

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

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

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

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

    Java8時間api之LocalDate/LocalDateTime的用法詳解

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

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

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

    詳解JAVA的封裝

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

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

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

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

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

    会理县| 天祝| 高平市| 锦屏县| 宣汉县| 永和县| 大丰市| 贵定县| 湄潭县| 文昌市| 邻水| 泰和县| 汉沽区| 济南市| 沁源县| 诸城市| 黄冈市| 武平县| 固安县| 绥中县| 措勤县| 泗洪县| 中超| 金秀| 景宁| 通辽市| 永昌县| 景宁| 天柱县| 孙吴县| 娄底市| 钟山县| 河津市| 北宁市| 宜丰县| 荔浦县| 阿坝| 保亭| 新密市| 易门县| 鸡泽县|