mybatis-plus更新策略部分字段不更新問(wèn)題
更新時(shí)間:2024年03月20日 11:41:11 作者:傲太白
這篇文章主要介紹了mybatis-plus更新策略部分字段不更新問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
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)文章
mybatis+springboot中使用mysql的實(shí)例
在軟件開(kāi)發(fā)中,數(shù)據(jù)庫(kù)的引入是必不可少的,這里來(lái)展現(xiàn)一下通過(guò)mybatis框架在springboot中使用mysql,具有一定的參考價(jià)值,感興趣的可以了解一下2021-07-07Java中RabbitMQ延遲隊(duì)列實(shí)現(xiàn)詳解
這篇文章主要介紹了Java中RabbitMQ延遲隊(duì)列實(shí)現(xiàn)詳解,消息過(guò)期后,根據(jù)routing-key的不同,又會(huì)被死信交換機(jī)路由到不同的死信隊(duì)列中,消費(fèi)者只需要監(jiān)聽(tīng)對(duì)應(yīng)的死信隊(duì)列進(jìn)行消費(fèi)即可,需要的朋友可以參考下2023-09-09SpringBoot使用@Autowired為多實(shí)現(xiàn)的接口注入依賴
這篇文章主要介紹了SpringBoot使用@Autowired為多實(shí)現(xiàn)的接口注入依賴,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11springboot?web項(xiàng)目中?Set-Cookie?失敗原因及解決辦法
這篇文章主要介紹了springboot?web項(xiàng)目中?Set-Cookie?失敗原因及解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-10-10Java實(shí)現(xiàn)的文件過(guò)濾代碼分享(按后輟過(guò)濾)
這篇文章主要介紹了Java實(shí)現(xiàn)的文件過(guò)濾代碼分享,本文通過(guò)后輟名過(guò)濾,代碼寫(xiě)簡(jiǎn)潔,容易看懂,需要的朋友可以參考下2014-07-07淺談java中為什么重寫(xiě)equals后需要重寫(xiě)hashCode
今天帶各位學(xué)習(xí)一下java中為什么重寫(xiě)equals后需要重寫(xiě)hashCode,文中有非常詳細(xì)的圖文介紹及代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05