springboot調整MybatisPlus全局的驗證策略


由於Mybatis plus默認的更新策略是NOT_NULL:非 NULL;即通過接口更新數據時數據為NULL值時將不更新進數據庫。
所以Mybatis plus通過updateById(XX)更新數據,當用戶有更新字段為空字符串 或者 null 的需求時,需要對 FieldStrategy 策略進行調整。

FieldStrategy 有三種策略:

  • IGNORED:0 忽略
  • NOT_NULL:1 非 NULL,默認策略
  • NOT_EMPTY:2 非空

方式一:調整全局的驗證策略(修改application配置文件)

mybatis-plus:
  global-config:
  	#字段策略 0:"忽略判斷",1:"非 NULL 判斷",2:"非空判斷"
    field-strategy: 0

缺點:這樣做會對所有的字段都忽略判斷,如果一些字段不想要修改,但是傳值的時候沒有傳遞過來,就會被更新為null

方式二:調整字段驗證注解(根據具體情況,在需要更新的字段中調整驗證注解 @TableField,如忽略判斷:)

	// 生日
	@TableField(updateStrategy = FieldStrategy.IGNORED)
	@DateTimeFormat(pattern = DateUtils.SHORT_TIME_FORMAT)
	@JsonFormat(pattern = DateUtils.SHORT_TIME_FORMAT, timezone = "GMT+8")
	private Date birthday;


免責聲明!

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



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