MybatisPlus中使用 updateById()更新字段为空字符串,null 不更新问题
编辑
276
2023-11-07
MybatisPlus使用 update()/updateById()
将字段更新为null或者空值时候不起作用。
原因:MybatisPlus FieldStrategy 有多种策略:
方法一(单独配置)
在实体类的字段是加上 @TableField(strategy = FieldStrategy.IGNORED)
注解 忽略判断
FieldStrategy还有其他几个值:
package com.baomidou.mybatisplus.annotation;
public enum FieldStrategy {
IGNORED, // 忽略判断
NOT_NULL, // 非null判断
NOT_EMPTY, // 非空判断
DEFAULT,
NEVER;
private FieldStrategy() {
}
}
方法二(全局配置)
# MyBatisPlus配置
# https://baomidou.com/config/
mybatis-plus:
global-config:
# 字段验证策略之 insert,在 insert 的时候的字段验证策略
# IGNORED 忽略判断
# NOT_NULL 非NULL判断
# NOT_EMPTY 非空判断(只对字符串类型字段,其他类型字段依然为非NULL判断)
# DEFAULT 默认的,一般只用于注解里
# NEVER 不加入 SQL
insertStrategy: NOT_EMPTY
# 字段验证策略之 update,在 update 的时候的字段验证策略
updateStrategy: NOT_EMPTY
# 字段验证策略之 select,在 select 的时候的字段验证策略既 wrapper 根据内部 entity 生成的 where 条件
selectStrategy: NOT_EMPTY
- 3
- 0
-
分享