mybatisplus null
时间: 2023-10-07 08:09:05 浏览: 107
Mybatis-Plus中的更新策略问题可能是由于默认的FieldStrategy设置引起的。Mybatis-Plus中的FieldStrategy有三种策略:IGNORED、NOT_NULL和NOT_EMPTY。其中IGNORED策略会忽略所有字段的值,包括null值;NOT_NULL策略会忽略null值但不忽略空字符串;NOT_EMPTY策略会忽略null值和空字符串。
如果你在使用Mybatis-Plus时遇到了null值的问题,可能是因为项目中使用了Mybatis-Plus的注解@TableField(strategy = FieldStrategy.IGNORED),这会导致所有的字段值都会被设置到insert语句中,包括null值。此外,其他的更新语句也会跳过null值检查,造成了更新时未给字段赋值时将字段更新为null的问题。
为了解决这个问题,你可以考虑更改FieldStrategy的策略,或者使用其他的更新方式。另外,你也可以检查项目中是否存在其他导致字段值为null的代码逻辑。
相关问题
mybatisplus set NULL
To set a column value to NULL in MyBatis Plus, you can use the `nullValue` property in the `@TableField` annotation or the `set` method when updating the entity.
1. Using `@TableField` annotation:
```java
@TableField(nullValue = "NULL")
private String columnName;
```
2. Using the `set` method:
```java
yourEntity.setColumnName(null);
```
By setting the column value to null, MyBatis Plus will generate the corresponding SQL statement to update the column with a NULL value in the database.
mybatisplus的isnull用法
mybatisplus的isnull用法是用于判断数据库中某个字段是否为null,其语法如下:
```
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.isNull("column_name");
```
其中,"column_name"为需要判断的字段名。
如果需要判断多个字段是否为null,可以使用`or`或`and`连接多个`isNull`条件,例如:
```
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.isNull("column_name1").or().isNull("column_name2");
```
阅读全文