解決MybatisPlus修改時空字段不修改問題


今天遇到了一個問題,在更新數據時,MybatisPlus不會進行修改屬性為空的數據表字段。

解決辦法:

只需要在實體類的屬性上加一行注釋即可

/** * 姓名 */ @TableField(fill = FieldFill.UPDATE) private String name; 

這行注釋的意思是:在name這個屬性執行修改時,將自動填充一個值(默認為null),即將字段修改為空,而不是不做修改。

 

比較老的解決方式:

在用mybatis-plus封裝的updateById方法來更新數據時,想把一個字段設置為null值,但是發現更新后數據沒有為null還是原來的值,這是因為mybatis-plus在更新的時候做了null判斷,默認不更新為null的傳參。

2 解決方法
在實體類對應的字段上加注解@TableField(strategy=FieldStrategy.IGNORED),忽略null值的判斷,例如

@TableField(strategy = FieldStrategy.IGNORED)
private String name;
當@TableField注解有多個值時

@TableField(value = "user_name", strategy = FieldStrategy.IGNORED)
private String userName;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM