mybatis-plus更新策略部分字段不更新問(wèn)題
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, //默認(rèn)
NEVER; //從不更新
private FieldStrategy() {
}
}使用方法
@TableField(value = "create_user_id", updateStrategy = FieldStrategy.NEVER) private int createUserId;//創(chuàng)建用戶ID
上述代碼表達(dá)意思是,修改時(shí)該字段從不更新。
mybatis-plus字段更新策略 FieldStrategy
public enum FieldStrategy {
// 不管有沒(méi)有有設(shè)置屬性,所有的字段都會(huì)設(shè)置到insert語(yǔ)句中,如果沒(méi)設(shè)置值會(huì)更新為null
IGNORED,
// 也是默認(rèn)策略,也就是忽略null的字段,不忽略""
NOT_NULL,
// 為null,為空串的忽略,就是如果設(shè)置值為null,“”,不會(huì)插入數(shù)據(jù)庫(kù)
NOT_EMPTY,
// 同NOT_NULL
DEFAULT,
// 一經(jīng)插入 永不更新 (etc:createTime)
NEVER;
private FieldStrategy() {
}
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java基本教程之常用的實(shí)現(xiàn)多線程的兩種方式 java多線程教程
下面開(kāi)始學(xué)習(xí)“常用的實(shí)現(xiàn)多線程的2種方式”:Thread 和 Runnable。之所以說(shuō)是常用的,是因?yàn)橥ㄟ^(guò)還可以通過(guò)java.util.concurrent包中的線程池來(lái)實(shí)現(xiàn)多線程2014-01-01
淺析Spring Boot單體應(yīng)用熔斷技術(shù)的使用
這篇文章主要介紹了淺析Spring Boot單體應(yīng)用熔斷技術(shù)的使用,幫助大家更好的理解和使用spirngboot框架,感興趣的朋友可以了解下2021-01-01
Mybatis返回int或者Integer類型報(bào)錯(cuò)的解決辦法
這篇文章主要介紹了Mybatis返回int或者Integer類型報(bào)錯(cuò)的解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12
Java每隔兩個(gè)數(shù)刪掉一個(gè)數(shù)問(wèn)題詳解
這篇文章主要介紹了Java每隔兩個(gè)數(shù)刪掉一個(gè)數(shù)問(wèn)題詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Spring Cloud OAuth2中/oauth/token的返回內(nèi)容格式
Spring Cloud OAuth2 生成access token的請(qǐng)求/oauth/token的返回內(nèi)容就需要自定義,本文就詳細(xì)介紹一下,感興趣的可以了解一下2021-07-07
在springboot項(xiàng)目中同時(shí)接收文件和多個(gè)參數(shù)的方法總結(jié)
在開(kāi)發(fā)接口中,遇到了需要同時(shí)接收文件和多個(gè)參數(shù)的情況,可以有多種方式實(shí)現(xiàn)文件和參數(shù)的同時(shí)接收,文中給大家介紹了兩種實(shí)現(xiàn)方法,感興趣的同學(xué)跟著小編一起來(lái)看看吧2023-08-08
Springboot結(jié)合JDBC實(shí)現(xiàn)雙數(shù)據(jù)源實(shí)例
這篇文章主要為大家介紹了Springboot結(jié)合JDBC實(shí)現(xiàn)雙數(shù)據(jù)源實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12

