MyBatis-Plus 更新(update)方法,属性参数为空时进行更新与不进行更新的设置

这篇具有很好参考价值的文章主要介绍了MyBatis-Plus 更新(update)方法,属性参数为空时进行更新与不进行更新的设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景:项目整合了mybatisplus,进行update更新,前端传值为空时,数据库也进行了更新
        UpdateWrapper updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("shop_id", goodsInfo.getShopId());
        updateWrapper.eq("goods_id", goodsInfo.getGoodsId());
        //获取修改之前的数据
        Map oldValue = iShopGoodsService.getOneOfShopGoods(goodsInfo);
        boolean update = iShopGoodsService.update(goodsInfo, updateWrapper);
        Map newValue = iShopGoodsService.getOneOfShopGoods(goodsInfo);
        //记录操作日志

解决方案:

在实体类上使用@TableField注解

    /**
     * 是否限量商品 -1不限量商品,其他数值指定限量几件
     */
    @TableField(strategy = FieldStrategy.NOT_EMPTY)
    private String limitGoods;

这样,当前端传过来的limitGoods参数为null或者空字符串,mybatisplus的更新就会拦截此字符串的更新。

FieldStrategy的源码中,一共有4种策略类型。


package com.baomidou.mybatisplus.annotation;

/**
 * 字段策略枚举类
 *
 * @author hubin
 * @since 2016-09-09
 */
public enum FieldStrategy {
    /**
     * 忽略判断
     */
    IGNORED,
    /**
     * 非NULL判断
     */
    NOT_NULL,
    /**
     * 非空判断
     */
    NOT_EMPTY,
    /**
     * 默认的,一般只用于注解里
     * <p>1. 在全局里代表 NOT_NULL</p>
     * <p>2. 在注解里代表 跟随全局</p>
     */
    DEFAULT
}
MyBatis-Plus 更新(update)方法,属性参数为空时进行更新与不进行更新的设置

附上mybatis-plus官网链接地址:

https://baomidou.com/pages/223848/#fieldstrategy

有兴趣的小伙伴可以点击看看文章来源地址https://www.toymoban.com/news/detail-503467.html

到了这里,关于MyBatis-Plus 更新(update)方法,属性参数为空时进行更新与不进行更新的设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot学习随笔- 集成MyBatis-Plus(三)自定义SQL、分页实现(PaginationInterceptor )、更新和删除详细方法

    学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备! 自定义mapper文件是为了应对一些更复杂的查询场景,首先先配置映射路径 由于这里的mapper文件放在java文件夹中,所以要在pom.xml里进行配置 mapper 测试 在MyBatis Plus中, 物理分页 和 内

    2024年02月03日
    浏览(45)
  • Mybatis-Plus批量更新原理

    IService的updateBatchById方法 默认batchSize = 1000 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl#updateBatchById 构建了一个回调,进入executeBatch方法 在这个方法基本就能看出来了,执行1000次方法后执行一次flushStatements,也就是说理论上是积累了1000个更新sql,才进行一次数据库更新 使用

    2024年02月05日
    浏览(37)
  • Mybatis-plus更新字段为null

    更新时,把某些字段的值更新为null,但是目前mybatis-plus的update/updateById会忽略实体类中为null的字段,导致这些字段没有更新还是原来的值。 网上比较常用的有两种: 缺点:当在其它接口更新别的字段时,本来没有想更新这个字段,但是也会把这个字段更新为null。 缺点:需

    2024年02月06日
    浏览(54)
  • Mybatis-plus怎么更新Null字段?

    本文介绍【Mybatis-plus】updateById()方法不能更新字段为null的原因及解决办法。 在日常项目开发过程中,经常会使用Mybatis-plus的updateById()方法,快速将接收道德参数或者查询结果中原本不为null的字段更新为null,并且该字段在数据库中可为null,这个时候使用updateById()并不能实现

    2024年02月13日
    浏览(43)
  • mybatis-plus更新字段为null值

    mybatis-plus相信大家都不陌生所以不在介绍 首先我们先看一下mybatis-plus的官网上的介绍  官网推荐的有三种方式可以实现 第一种:调整全局策略, mybatis-plus默认的全局策略为NOT_NULL非空默认策略,其实就是当更新是某个字段为空,则不对该字段进行更新,这也是我们常用的策略所此种

    2024年02月14日
    浏览(43)
  • 批量插入或更新数据(MyBatis-plus框架)

    目录 1.场景说明 2.DUPLICATE 和REPLACE比较 3.批量插入或者更新(两种方式) 方式一:mybatis-plus的saveOrUpdateBatch方法 问题:如果操作类集成了基础类,比如封装了BaseEntity去集成,那么这样使用会出问题 方式二:on duplicate key (推荐) 4.注意 5.常见问题  插入数据时,我们经常会遇到这

    2024年02月04日
    浏览(67)
  • mybatis-plus 自动填充创建时间/更新时间

    方式一:数据库级别 创建时间create_time字段设置类型为timestamp,默认值为CURRENT_TIMESTAMP; 更新时间update_time字段设置类型为timestamp,默认值为CURRENT_TIMESTAMP,勾选 根据当前时间戳更新 。 实体类createTime字段设置数据类型为Date; 实体类updateTime字段设置数据类型为Date。 注意:

    2024年02月14日
    浏览(66)
  • MyBatis-Plus中的更新操作(通过id更新和条件更新)

    目录 前言 一、通过id更新 二、条件更新 2.1 使用QueryWrapper进行条件更新 2.2 使用UpdateWrapper进行条件更新 总结  本文学习MP中的更新操作方法,带大家一起查看源码,了解更新操作的方法。学会熟练地去运用更新方法解决自己在项目中的问题。 Mybatis-Plus知识点[MyBatis+MyBatis-Pl

    2024年02月06日
    浏览(34)
  • Mybatis-plus通过其他字段批量更新或新增

    根据某个或者多个非ID字段进行批量更新 示例通过名称与id两个字段更新 引用mybatis-plus根据某个指定字段批量更新数据库 通过其他字段批量更新或新增

    2024年02月12日
    浏览(36)
  • MyBatis-plus更新对象时将字段值更新为null

            mybatis-plus在执行更新操作,当更新字段为 空字符串 或者 null 的则不会执行更新。如果要将指定字段更新null,可以通过以下三种方式实现。 1、全局配置         可以在 application.yml 配置文件中注入配置 GlobalConfiguration 属性 update-strategy, 将 update-strategy 策略调

    2024年02月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包