MyBatis-Plus如何将字段修改为空值

方案一:修改全局更新策略(不推荐)

mybatis-plus:
	global-config:
		#字段策略 IGNORED:"忽略判断"、NOT_NULL:"非NULL判断"、NOT_EMPTY:"非空判断"
    	field-strategy: IGNORED

不推荐使用原因:作用范围太广,调用MyBatis-Plus封装的update会不经意将字段改为空

方案二:修改指定字段的更新策略(不推荐)

@TableField(strategy = FieldStrategy.IGNORED)
private String name;

不推荐使用原因:相对于方案一作用范围相对较小,但调用MyBatis-Plus封装的update也会不经意将字段改为空

方案三:使用LambdaUpdateWrapper只在特定需求下做处理(推荐)

Order order = new Order();
order.setId(1);
order.setPrice(3.8)
order.setName(null)
LambdaUpdateWrapper<Order> lambdaUpdate = Wrappers.lambdaUpdate();
//构建where条件根据id修改
lambdaUpdate.eq(Order::getId, order.getId()); 
//name属性为空时可以修改字段为NULL
if (StringUtils.isEmpty(order.getName())) lambdaUpdate.set(Order::getName, null); 
//此时生成的SQL语句为update order set price = 3.8, name = null where id = 1
super.update(order, lambdaUpdate);

推荐原因:不影响任何地方只在此处生效

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值