Mybatis中如何确定需要更新的字段?(不要答通过Null或为空判断)

owen1759 owen1759 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
更新一条记录一般都是传入一个Entity实例,然后Sql语句通过主键查找要更新的记录、通过字段为Null或为空判断要更新的字段。
但是,这种做法存在Bug:
比如某人在某个允许为空的字段(例如[家庭住址])填写了内容,然后他想删除掉,于是他在页面上把这个字段的内容清空, 然后点保存,然后…他会发现原先的内容居然还在,没有办法清除了!

或许这个实例,大家会说,那我就只判断Null不判断空好了。

可是,假如这个允许为空的字段是一个日期型呢?我们如何判断是要清空这个字段还是保持不变?

或许大家会说,你在前面的业务层肯定能知道是要清空还是要保持不变,但是问题在于,Mapper层要怎么判断呢?判断Null和判断空都不可行了,那么应该怎样判断呢?
...全文

相关推荐

评论 36
收藏 已收藏
分享
返回顶部
owen1759
Java EE 67,535 成员 225,843 内容