方案一:修改全局更新策略(不推荐)
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也会不经意将字段改为空文章来源:https://www.toymoban.com/news/detail-567894.html
方案三:使用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);
推荐原因:不影响任何地方只在此处生效文章来源地址https://www.toymoban.com/news/detail-567894.html
到了这里,关于MyBatis-Plus如何将字段修改为空值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!