1. 程式人生 > 實用技巧 >mybatis plus 更新值為null的欄位

mybatis plus 更新值為null的欄位

轉載請註明出處:

  由於mybatis plus呼叫預設的更新操作方法時,不更新值為空,null或預設值等得屬性欄位,只更新值為非null,非空非預設值的屬性欄位。

以下為mybatis plus sample專案中一個對應資料庫的實體類:

import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

/**
 * @author miemie
 * 
@since 2019-11-27 */ @Data @TableName(resultMap = "m_b") // 對應xml裡的 id public class Man { private Long id; private String name; private Long laoPoId; @TableField(exist = false) private Woman laoPo; @TableField(exist = false) private List<Child> waWa; }

呼叫BaseMapper其中預設的修改方法;

專案中我們經常需要對一些資料庫欄位就要進行置空或設為預設值的操作,需要在實體類上加一個註解就可以:

@TableField(updateStrategy = FieldStrategy.IGNORED )

在實體類上新增該註解就可以對這個欄位進行空的預設值修改操作。對於新增也是一樣的。

@TableField(insertStrategy= FieldStrategy.IGNORED )