mybatisplus updatebyid 更新空date
时间: 2024-12-18 16:10:36 浏览: 28
在MyBatisPlus中,如果你尝试通过`updateById()`方法更新一个字段为`NULL`的Date类型数据,MyBatisPlus默认会将该字段转换为空字符串或时间戳0,而不是实际的`NULL`值。这是因为数据库通常不会直接接受`NULL`值作为日期类型。
如果你想保留`NULL`值,你需要明确指定在Mapper XML映射文件中或者是实体类上设置对应的属性,让MyBatisPlus知道你应该更新为`NULL`而非其他默认值。例如,在XML中:
```xml
<update id="updateById" parameterType="com.example.YourEntity">
UPDATE your_table
SET column_date = #{column_date, jdbcType=DATE, nullValue='')
WHERE id = #{id}
</update>
```
或者在实体类中添加注解:
```java
@TableField(fill = FieldFill.LAZY)
private Date columnDate;
```
这将告诉MyBatisPlus在更新时,如果该字段值为`null`,就保持不变,插入一个空字符串到SQL语句中。
阅读全文