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;//創(chuàng)建用戶ID
上述代碼表達意思是,修改時該字段從不更新。
mybatis-plus字段更新策略 FieldStrategy
public enum FieldStrategy {
// 不管有沒有有設(shè)置屬性,所有的字段都會設(shè)置到insert語句中,如果沒設(shè)置值會更新為null
IGNORED,
// 也是默認策略,也就是忽略null的字段,不忽略""
NOT_NULL,
// 為null,為空串的忽略,就是如果設(shè)置值為null,“”,不會插入數(shù)據(jù)庫
NOT_EMPTY,
// 同NOT_NULL
DEFAULT,
// 一經(jīng)插入 永不更新 (etc:createTime)
NEVER;
private FieldStrategy() {
}
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot使用@Autowired為多實現(xiàn)的接口注入依賴
這篇文章主要介紹了SpringBoot使用@Autowired為多實現(xiàn)的接口注入依賴,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
springboot?web項目中?Set-Cookie?失敗原因及解決辦法
這篇文章主要介紹了springboot?web項目中?Set-Cookie?失敗原因及解決辦法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-10-10
淺談java中為什么重寫equals后需要重寫hashCode
今天帶各位學習一下java中為什么重寫equals后需要重寫hashCode,文中有非常詳細的圖文介紹及代碼示例,對正在學習java的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05

