引言
MyBatis-Plus在执行更新操作时,可能会忽略字段值为空或null的情况,导致这些字段的值没有被更新为数据库中的NULL。
解决方案
方案一:注解方式
使用@TableField
注解的 updateStrategy
属性
MyBatis-Plus提供了@TableField注解的updateStrategy属性,允许开发者自定义更新操作时的字段策略。
- IGNORED:无论字段值为何,都将其包含在SET语句中。
相当于 update table_a set column=#{column}, 属性为null/空字符串都会被set进去
- NOT_NULL:仅当字段值不为null时,才将其包含在SET语句中。
相当于 update table_a set <if test="column != null"