mybatis-plus更新策略部分字段不更新问题
更新时间:2024年03月20日 11:41:11 作者:傲太白
这篇文章主要介绍了mybatis-plus更新策略部分字段不更新问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
mybatis-plus更新策略部分字段不更新
直接上代码
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
public @interface TableField {
String value() default "";
boolean exist() default true;
String condition() default "";
String update() default "";
FieldStrategy insertStrategy() default FieldStrategy.DEFAULT; //新增
FieldStrategy updateStrategy() default FieldStrategy.DEFAULT; //修改
FieldStrategy whereStrategy() default FieldStrategy.DEFAULT;
FieldFill fill() default FieldFill.DEFAULT;
boolean select() default true;
boolean keepGlobalFormat() default false;
JdbcType jdbcType() default JdbcType.UNDEFINED;
Class<? extends TypeHandler> typeHandler() default UnknownTypeHandler.class;
String numericScale() default "";
}五大策略
public enum FieldStrategy {
IGNORED, //忽略
NOT_NULL, //字段不为null
NOT_EMPTY, //字段不为“”
DEFAULT, //默认
NEVER; //从不更新
private FieldStrategy() {
}
}使用方法
@TableField(value = "create_user_id", updateStrategy = FieldStrategy.NEVER) private int createUserId;//创建用户ID
上述代码表达意思是,修改时该字段从不更新。
mybatis-plus字段更新策略 FieldStrategy
public enum FieldStrategy {
// 不管有没有有设置属性,所有的字段都会设置到insert语句中,如果没设置值会更新为null
IGNORED,
// 也是默认策略,也就是忽略null的字段,不忽略""
NOT_NULL,
// 为null,为空串的忽略,就是如果设置值为null,“”,不会插入数据库
NOT_EMPTY,
// 同NOT_NULL
DEFAULT,
// 一经插入 永不更新 (etc:createTime)
NEVER;
private FieldStrategy() {
}
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
java基本教程之常用的实现多线程的两种方式 java多线程教程
下面开始学习“常用的实现多线程的2种方式”:Thread 和 Runnable。之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程2014-01-01
Mybatis返回int或者Integer类型报错的解决办法
这篇文章主要介绍了Mybatis返回int或者Integer类型报错的解决办法,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-12-12
Spring Cloud OAuth2中/oauth/token的返回内容格式
Spring Cloud OAuth2 生成access token的请求/oauth/token的返回内容就需要自定义,本文就详细介绍一下,感兴趣的可以了解一下2021-07-07
在springboot项目中同时接收文件和多个参数的方法总结
在开发接口中,遇到了需要同时接收文件和多个参数的情况,可以有多种方式实现文件和参数的同时接收,文中给大家介绍了两种实现方法,感兴趣的同学跟着小编一起来看看吧2023-08-08


最新评论