Mybatisplus更新某個字段為null問題
Mybatisplus更新某個字段為null
使用@TableField(updateStrategy = FieldStrategy.IGNORED)注解要更新的字段。
@TableField注解是 Mybatisplus 框架中提供的一個注解,主要用于實體類(Entity)的字段上,幫助開發(fā)者更靈活地映射 Java 對象屬性與數(shù)據(jù)庫表字段之間的關(guān)系
主要功能:
1、字段映射
當實體類和數(shù)據(jù)庫字段不一致時,可以是使用value屬性指定數(shù)據(jù)庫字段名
@TableField(value = "db_column_name") private String entityFieldName;
2、忽略非表字段
若實體類中存在與數(shù)據(jù)庫表無關(guān)的屬性(如臨時變量),需標記 exist = false,避免 MyBatis-Plus 將其誤認為表字段。
@TableField(exist = false) private String tempValue;
3、自動填充策略
配合 fill 屬性實現(xiàn)字段的自動填充(如創(chuàng)建時間、更新時間)。
@TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime;
4、字段條件處理
通過 condition 屬性指定該字段在 SQL 條件中的生成規(guī)則(較少用)。
@TableField(condition = SqlCondition.LIKE) private String name; // 生成 SQL 時會使用 `name LIKE ?`
5、相關(guān)策略
@TableField注解有三種策略:
insertStrategy(新增)updateStrategy(更新)whereStrategy(查詢)
每種策略有五種類型:
IGNORED(忽略)NOT_NULL(不為null)NOT_EMPTY(不為空)DEFAULT(默認)NEVER(從不)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot之SpringApplication生命周期和事件機制解讀
這篇文章主要介紹了springboot之SpringApplication生命周期和事件機制,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
SpringBoot?集成Resteasy實現(xiàn)RESTFul接口的詳細過程
這篇文章主要介紹了SpringBoot集成Resteasy實現(xiàn)RESTFul接口,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08
如何使用JWT的SpringSecurity實現(xiàn)前后端分離
這篇文章主要介紹了使用JWT的SpringSecurity實現(xiàn)前后端分離,登錄成功需要返回json數(shù)據(jù)登錄失敗需要返回json數(shù)據(jù)權(quán)限不足時返回json數(shù)據(jù)未登錄訪問資源返回json數(shù)據(jù),需要的朋友可以參考下2024-08-08
Spring Boot前后端分離開發(fā)模式中的跨域問題及解決方法
本文介紹了解決Spring Boot前端Vue跨域問題的實戰(zhàn)經(jīng)驗,并提供了后端和前端的配置示例,通過配置后端和前端,我們可以輕松解決跨域問題,實現(xiàn)正常的前后端交互,需要的朋友可以參考下2023-09-09

