Mybatis-plus3.0 更新字段为 null

 


Mybatis-plus3.0 更新字段为 null

在3.0之前如果想更新数据库的字段为 null 值,大多通过实体类上添加注解实现 ,存在一定的风险,亦或者手动写 sql 。在 3.0 + 后提供了UpdateWrapper`更新条件构造器来实现字段置 null 值、空字符串的操作。

1、创建更新条件构造器

在这里我要置 age 的值为 null。

复制//第一种:new对象,字段多时使用
User user = new User();
user.setName("test");
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
wrapper.set("age", null).eq("id",1294183513728778246L);

//第二种,直接在构造器上更新字段及拼接条件
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
wrapper.set("age", null).set("name", "test").eq("id",1294183513728778246L)

2、使用并打印结果

通过mapper.update()方法使用构造器。

//第一种
int count =  userMapper.update(user,wrapper);

//第二种
int count =  userMapper.update(null,wrapper);

输出结果如下

image-20201217151143513

可以看到 age 的值成功置为 null 了。

3、注意点

如果要更新 id的值,只能通过构造器上 set更新字段实现。

即通过 UpdateWrapper()set()方法。

user.setName("test");
wrapper.set("age", null).set("id",1294183513728778246L).eq("id",1)

输出结果如下

image-20201217152416529

通过 new 对象 set Id 无效

user.setName("test");
//set Id 无效
user.setId(1294183513728778246L);
wrapper.set("age", null).eq("id",1);

输出结果如下

image-20201217152848464

posted @   MyDistance  阅读(6204)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示

目录导航

Mybatis-plus3.0 更新字段为 null
1、创建更新条件构造器
2、使用并打印结果
3、注意点