使用mybatis-plus想要修改某字段为null问题
作者:普通网友 时间:2021-09-17 02:17:35
mybatis-plus想要修改某字段为null
问题场景
使用mybatis + mybatisPlus进行修改某字段,想要将其设为null, 但执行时没有成功。
原因
mybatis-plus会将所有为空的字段在修改时进行过滤,不进行设为空的修改操作。
解决办法
在相关字段上加上注解
@TableField(strategy = FieldStrategy.IGNORED)
例:
@TableField(strategy = FieldStrategy.IGNORED)
private Long classId;
mybatis-plus更新字段为null不生效
异常说明
mapper.updateById()时,set为null未生效,其他字段更新
periodRecordOriginal.setSettleTime(null);
periodRecordOriginal.setActualSettleTime(null);
periodRecordOriginal.setSettleStatus(0);
int i = periodRecordMapper.updateById(periodRecordOriginal);
原理
MyBatis-Plus对字段的验证策略导致的,MyBatis-Plus默认进⾏了不是全量更新的策略,默认忽略为null 的字段的
解决办法
1)修改MyBatis-Plus 全局默认策略
缺点:这样做会对所有的字段都忽略判断,如果一些字段不想要修改,但是传值的时候没有传递过来,就会被更新为null
mybatis-plus:
global-config:
#字段策略 0:"忽略判断",1:"非 NULL 判断",2:"非空判断"
field-strategy: 0
2)修改实体类注解,改变字段的忽略判断
缺点:需要注意数据库字段是否设置为 非null ,如果为非null 也更新不成功
@TableField( updateStrategy = FieldStrategy.IGNORED)
private Date settleTime;
来源:https://blog.csdn.net/m0_67403073/article/details/124104442
标签:mybatis-plus,修改字段,null
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用Spring特性实现接口多实现类的动态调用方式
2022-04-11 05:41:42
![](https://img.aspxhome.com/file/2023/2/81952_0s.jpg)
java常用工具类之DES和Base64加密解密类
2023-12-20 17:48:31
Java基础将Bean属性值放入Map中的实例
2023-10-11 13:57:40
基于eclipse.ini内存设置的问题详解
2021-08-25 02:56:55
java中的this引用及对象构造初始化
2023-03-07 09:38:17
![](https://img.aspxhome.com/file/2023/6/60996_0s.png)
如何利用java控制鼠标操作一些重复的事情
2021-11-12 12:54:02
![](https://img.aspxhome.com/file/2023/6/64016_0s.jpg)
Java中的InputStreamReader和OutputStreamWriter源码分析_动力节点Java学院整理
2022-10-13 10:46:53
![](https://img.aspxhome.com/file/2023/5/62045_0s.png)
C#使用LINQ查询表达式的基本子句总结
2022-08-05 05:09:41
![](https://img.aspxhome.com/file/2023/3/77253_0s.png)
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2023-11-27 11:02:17
![](https://img.aspxhome.com/file/2023/3/60113_0s.png)
Maven的生命周期与自定义插件实现方法
2022-04-06 20:13:48
SpringBoot整合Pulsar的实现示例
2021-10-09 17:39:35
Android中使用TextView实现文字跑马灯效果
2023-07-28 11:07:33
![](https://img.aspxhome.com/file/2023/9/84729_0s.gif)
redis redisson 集合的使用案例(RList、Rset、RMap)
2023-11-13 13:50:21
Activiti开发环境的搭建过程详解
2021-08-16 07:13:05
Java请求转发和请求重定向区别详解
2023-05-19 07:30:17
![](https://img.aspxhome.com/file/2023/6/63786_0s.webp)
Jenkins Pipeline 部署 SpringBoot 应用的教程详解
2022-09-26 14:06:27
![](https://img.aspxhome.com/file/2023/0/61240_0s.png)
Mybatis-plus基于redis实现二级缓存过程解析
2021-12-08 23:34:43
![](https://img.aspxhome.com/file/2023/1/63151_0s.png)
Android获取常用辅助方法(获取屏幕高度、宽度、密度、通知栏高度、截图)
2023-10-30 19:42:57
SpringBoot实现Excel文件批量上传导入数据库
2023-11-29 11:13:44
![](https://img.aspxhome.com/file/2023/1/60571_0s.jpg)
JAVA 格式化日期、时间的方法
2023-10-17 07:53:22