Q:
解决:
<update id="updateMessageByStatus" parameterType="com.jxmcloud.business.shop.model.MessageCenter">
UPDATE message_center
<set>
<if test="status == 1">
`status` = 1,
commissioning_time = DATE_FORMAT(NOW(),'%Y-%m-%d %H:%m:%s'),
</if>
<if test="status ==0">
`status` = 0,
commissioning_time = null,
</if>
</set>
WHERE id=#{id}
</update>
或者:
@ApiModelProperty(name="最后上架时间",value="auditTime")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@TableField(strategy=FieldStrategy.IGNORED)
private Date launchTime;
背景
项目中集成了mybatis plus, 今天在做后台的一个常规的增删改查时,发现字段值为null时,这个字段不会被保存到数据库
解决办法
在字段上加上
@TableField(strategy = FieldStrategy.IGNORED)
strategy字段更新插入策略属性说明:
IGNORED(0): “忽略判断”, 所有字段都更新和插入
NOT_NULL(1): “非 NULL 判断”, 只更新和插入非NULL值
NOT_EMPTY(2): “非空判断”, 只更新和插入非NULL值且非空字符串
另外一种方式可全局配置,未亲手实践
————————————————
版权声明:本文为优快云博主「toalaska」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/toalaska/article/details/90085250