MyBatis-Plus将字段修改为空值的解决方案

 更新时间:2023年12月05日 11:06:40   作者:眼里有星辰L  
这篇文章主要介绍了MyBatis-Plus将字段修改为空值的解决方案,本文给大家分享三种常用的解决方案,感兴趣的朋友一起看看吧

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);

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

补充:

Mysql中创建表字段允许空值NULL和不允许空值NULL

mysql如何修改字段允许为空

修改字段允许为空

alter table 表名 modify 字段名 字段类型 null;

MODIFY功能是修改字段属性,只是alter功能下的一个功能模块.

alter table employees MODIFY  name  varchar(14)  null;

将字段数据为空

update 表名 ser 字段名 = null where 条件

update employees set date = null where id ='10001';

Null与空值的区别

1、对象的内容不同

null表示对象的内容为空,即对象的内容是空白的。

空值表示对象的内容无法确定。

2、对象的值不同

null表示对象计算中具有保留的值,用于指示指针不引用有效对象。

空值表示值未知,空值一般表示数据未知、不适用或将在以后添加数据。

创建MySql数据表,

 create table student(
    id varchar(10) primary key NOT NULL ,
    name varchar(20) NOT NULL,  //不允许为空
    Info varchar(50) NULL   //允许为空
);

为字段设置允许空值NULL和不允许空值NOT NULL

到此这篇关于MyBatis-Plus如何将字段修改为空值的文章就介绍到这了,更多相关MyBatis-Plus字段修改为空值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中 this和super的用法与区别小结

    Java中 this和super的用法与区别小结

    在Java的学习与开发者我们经常遇到this和super关键字,本文主要介绍了Java中 this和super的用法与区别小结,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • Java简单获取字符串像素的方法

    Java简单获取字符串像素的方法

    这篇文章主要介绍了Java简单获取字符串像素的方法,涉及Java针对字符串字体操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • httpclient重定向之后获取网址信息示例

    httpclient重定向之后获取网址信息示例

    使用HttpClient进行127.0.0.1:8080地址的问题,然后该地址自动重定向127.0.0.1:8080/mobserver,如何获取该地址呢?使用HttpContext,下面是示例
    2014-02-02
  • 在Java的MyBatis框架中建立接口进行CRUD操作的方法

    在Java的MyBatis框架中建立接口进行CRUD操作的方法

    这篇文章主要介绍了在Java的MyBatis框架中建立接口进行CRUD操作的方法,CRUD是指在做计算处理时的增加(Create)、重新取得数据(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写,需要的朋友可以参考下
    2016-04-04
  • Javamelody监控不到sql的问题(亲测有效) ​

    Javamelody监控不到sql的问题(亲测有效) ​

    JavaMelody是用来在QA和实际运行生产环境中监控Java或Java EE应用程序服务器的一个开源框架,这篇文章主要介绍了Javamelody监控不到sql(亲测有效) ​,需要的朋友可以参考下
    2022-10-10
  • RestTemplate自定义ErrorHandler方式

    RestTemplate自定义ErrorHandler方式

    这篇文章主要介绍了RestTemplate自定义ErrorHandler方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • OpenJDK源码解析之System.out.println详解

    OpenJDK源码解析之System.out.println详解

    这篇文章主要介绍了OpenJDK源码解析之System.out.println详解,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Spring Bean常用依赖注入方式详解

    Spring Bean常用依赖注入方式详解

    这篇文章主要介绍了Spring Bean常用三种依赖注入方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • java读取配置文件自定义字段(yml、properties)

    java读取配置文件自定义字段(yml、properties)

    本文主要介绍了java读取配置文件自定义字段(yml、properties),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • java查找文件夹下最新生成的文件的方法

    java查找文件夹下最新生成的文件的方法

    在本篇文章中我们给大家分享了关于java怎么查找文件夹下最新生成的文件的相关方法和知识点,有需要的朋友们参考下。
    2019-07-07

最新评论