Mybatis-Plus实现只更新部分字段的数据

 更新时间:2022年06月27日 10:00:34   作者:青铜造白  
这篇文章主要介绍了Mybatis-Plus实现只更新部分字段的数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Mybatis-Plus只更新部分字段数据

1、通过UpdateWrapper修改指定的列

update 时传入 null 是关键

重点语句:updateWrapper.set(“SESSION_KEY”, “abc”);

this.mapper.update(null, wrapperUpdate);

2、使用场景和案例

使用版本:3.0.4

UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.eq("id", 1);
updateWrapper.set("status",  1);
updateWrapper.set("nickname",  "张三");
baseMapper.update(null, updateWrapper);

Mybatis-Plus更新字段问题

mybatis更新为 null的对象 ,需设置 : 

spring-boot设置 

mybatis-plus.global-config.db-config.field-strategy=ignored

属性设置有4种策略

public enum FieldStrategy {
    IGNORED,       #忽略判断
    NOT_NULL,      #非 null 判断
    NOT_EMPTY,     # 非空判断
    DEFAULT;
 
    private FieldStrategy() {
    }
}

设置为忽略判断之后 ,用查询方法 :

public List<T> list(Wrapper<T> queryWrapper) {
    return this.baseMapper.selectList(queryWrapper);
}

则查询时候 :

SELECT id,level_code,scale,rate,interest,expire_date,factor_day,product_id,create_by,create_time,update_by,update_time,version,enable,remark FROM 表 WHERE level_code=null AND scale=null AND rate=null AND interest=null AND expire_date=null AND factor_day=null AND product_id=80 AND create_by=null AND create_time=null AND update_by=null AND update_time=null AND version=null AND enable=null AND remark=null

在mybatis-plus 3.1.2之后,fieldStrategy已被弃用 ,可以分别设置 :

selectStrategy(since 3.1.2)
updateStrategy(since 3.1.2)
insertStrategy(since 3.1.2)

官方文档 : https://mp.baomidou.com/config/#logicdeletevalue

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用JPA主键@Id,@IdClass,@Embeddable,@EmbeddedId问题

    使用JPA主键@Id,@IdClass,@Embeddable,@EmbeddedId问题

    这篇文章主要介绍了使用JPA主键@Id,@IdClass,@Embeddable,@EmbeddedId问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 理解Java中的静态绑定和动态绑定

    理解Java中的静态绑定和动态绑定

    这篇文章主要帮助大家理解Java中的静态绑定和动态绑定,在Java中存在两种绑定方式,一种为静态绑定,另一种就是动态绑定,亦称为后期绑定,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • Java使用FastExcel导入支持多种时间格式

    Java使用FastExcel导入支持多种时间格式

    FastExcel 是一个采用纯 java 开发的 excel 文件读写组件,支持 Excel'97(-2003)(BIFF8)文件格式,本文主要介绍了如何使用FastExcel导入支持多种时间格式,感兴趣的可以了解
    2024-12-12
  • 解决java.lang.StringIndexOutOfBoundsException: String index out of range: -1错误问题

    解决java.lang.StringIndexOutOfBoundsException: String&nbs

    这篇文章主要介绍了解决java.lang.StringIndexOutOfBoundsException: String index out of range: -1错误问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • Java Web项目中验证码功能的制作攻略

    Java Web项目中验证码功能的制作攻略

    使用servlet制作验证码中最关键的部分是缓存的使用,验证session中的字符串,接下来我们就来看一下Java Web项目中验证码功能的制作攻略
    2016-05-05
  • Java实现SHA算法的方法详解

    Java实现SHA算法的方法详解

    这篇文章主要介绍了Java实现SHA算法的方法,结合实例形式较为详细的分析了Java实现sha算法的原理、实现与使用相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Java 泛型总结及详解

    Java 泛型总结及详解

    这篇文章主要介绍了Java 泛型的相关资料,并附简单实例代码,需要的朋友可以参考下
    2016-09-09
  • Java集合Set的简单使用解析

    Java集合Set的简单使用解析

    这篇文章主要介绍了Java集合Set的简单使用解析,Set接口是Collection的子接口,Set接口相较于Collection接口没有提供额外的方法,Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个 Set 集合中,则添加操作失败,需要的朋友可以参考下
    2023-11-11
  • 详解SpringBoot中RestTemplate的几种实现

    详解SpringBoot中RestTemplate的几种实现

    这篇文章主要介绍了详解SpringBoot中RestTemplate的几种实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • JAVA.io读写文件方式汇总

    JAVA.io读写文件方式汇总

    这篇文章主要介绍了几种JAVA.io读写文件方式,文中代码非常详细,帮助大家更好的理解学习,感兴趣的朋友可以了解下
    2020-06-06

最新评论