原文链接:mybatisPlus不能赋null值 – 编程屋

今天在改bug时,想要将实体类中的一个值改为null(原本是有值的),结果却发现编辑成功之后,数据却没有变化,如下:

@TableField(jdbcType = JdbcType.NUMERIC,updateStrategy = FieldStrategy.IGNORED)

 我想将bornData这个字段赋值为null,根据原本猜想执行

baseMapper.updateById(sysUserInfo)就可以完成,但事实并非如此,查看控制台打印sql:
==>  Preparing: UPDATE sch_sys_user SET school_id=?, username=?, password=?, mobile=?, sex=?, role_id=?, status=?, del_status=?, create_date=?, update_date=?, delete_flag=? WHERE Id=? 
==> Parameters: 6(Integer), 嘻嘻嘻(String), b46fc7bf5e1394a1791278345583032f(String), 18800009876(String), 1(Integer), 22(Integer), 0(Integer), 0(Integer), 2022-08-26T14:13:44(LocalDateTime), 2022-08-27T15:53:04.344(LocalDateTime), 0(Integer), 155(Integer)
<==    Updates: 1

发现其并没有修改该字段值,后来发现updateById方法,但是updateById默认不更新为null的值。

在字段上加上如下注解:

以上只是部分内容,为了维护方便,本文已迁移到新地址:mybatisPlus不能赋null值 – 编程屋

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐