编辑
2024-04-23
学习记录
00
请注意,本文编写于 345 天前,最后修改于 345 天前,其中某些信息可能已经过时。

目录

前提
解决方法
修改MybatisPlus全局配置
使用条件构造器
实体类属性加注解
手动编写更新sql

前提

mybatisPlus更新时,如果想让一个字段为空,实体类字段设置为null时,mybatisPlus默认会直接忽略这个字段的内容,就是不会把空值更新到数据库中,避免出现问题。

解决方法

修改MybatisPlus全局配置

application.yml文件修改配置,但是不推荐,每次使用实体类更新时都需要把所有字段的内容都填上,不然就会出现空值替换的问题

yml
mybatis-plus: global-config: #字段策略 0:"忽略判断",1:"非 NULL 判断",2:"非空判断" field-strategy: 0

使用条件构造器

java
LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(User::getName,null); userMapper.updateById(null,updateWrapper)

实体类属性加注解

这个问题和全局配置一样,使用时需要非常的小心

//不忽略null @TableField(strategy = FieldStrategy.IGNORED) private Integer keyStroke; //键盘快捷键

手动编写更新sql

在mapper.xml,编写更新sql

UPDATE REC_TYPE_DICT SET key_stroke=? WHERE id=?

本文作者:Weee

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!