欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)的表字段更新為我們設(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 配置文件后,有個(gè)global-config 全局配置,里面配置了更新、插入策略。

全局策略有:

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

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

此外,還能對(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)文章

  • SpringBoot+Eureka實(shí)現(xiàn)微服務(wù)負(fù)載均衡的示例代碼

    SpringBoot+Eureka實(shí)現(xiàn)微服務(wù)負(fù)載均衡的示例代碼

    這篇文章主要介紹了SpringBoot+Eureka實(shí)現(xiàn)微服務(wù)負(fù)載均衡的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Spring bean注冊到容器的總結(jié)

    Spring bean注冊到容器的總結(jié)

    這篇文章主要介紹了Spring bean注冊到容器的總結(jié),本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • 在Java中避免NullPointerException的解決方案

    在Java中避免NullPointerException的解決方案

    這篇文章主要介紹了在Java中避免NullPointerException的解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Linux部署springboot項(xiàng)目彩色日志打印方式

    Linux部署springboot項(xiàng)目彩色日志打印方式

    這篇文章主要介紹了Linux部署springboot項(xiàng)目彩色日志打印方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Netty中序列化的作用及自定義協(xié)議詳解

    Netty中序列化的作用及自定義協(xié)議詳解

    這篇文章主要介紹了Netty中序列化的作用及自定義協(xié)議詳解,Netty自身就支持很多種協(xié)議比如Http、Websocket等等,但如果用來作為自己的RPC框架通常會(huì)自定義協(xié)議,所以這也是本文的重點(diǎn),需要的朋友可以參考下
    2023-12-12
  • Java數(shù)據(jù)結(jié)構(gòu)之二叉搜索樹詳解

    Java數(shù)據(jù)結(jié)構(gòu)之二叉搜索樹詳解

    二叉搜索樹作為一個(gè)經(jīng)典的數(shù)據(jù)結(jié)構(gòu),具有鏈表的快速插入與刪除的特點(diǎn),同時(shí)查詢效率也很優(yōu)秀,所以應(yīng)用十分廣泛。本文將詳細(xì)講講二叉搜索樹的原理與實(shí)現(xiàn),需要的可以參考一下
    2022-06-06
  • Spring Boot項(xiàng)目利用Redis實(shí)現(xiàn)集中式緩存實(shí)例

    Spring Boot項(xiàng)目利用Redis實(shí)現(xiàn)集中式緩存實(shí)例

    本篇文章主要介紹了Spring Boot項(xiàng)目利用Redis實(shí)現(xiàn)集中式緩存實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • springboot?log4j2.xml如何讀取application.yml中屬性值

    springboot?log4j2.xml如何讀取application.yml中屬性值

    這篇文章主要介紹了springboot?log4j2.xml如何讀取application.yml中屬性值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Spring中bean的繼承與抽象代碼示例

    Spring中bean的繼承與抽象代碼示例

    這篇文章主要介紹了Spring中bean的繼承與抽象代碼示例,涉及abstract 屬性,bean實(shí)例化,子bean 與普通bean等相關(guān)內(nèi)容,代碼示例中注釋比較詳細(xì),需要的朋友可以參考下。
    2017-09-09
  • mybatisplus?isNotNull不生效問題及解決

    mybatisplus?isNotNull不生效問題及解決

    這篇文章主要介紹了mybatisplus?isNotNull不生效問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評(píng)論