转载请注明出处:
由于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 )
学习和研究mybatis plus项目可以学习这个项目:https://github.com/baomidou/mybatis-plus-samples
拿走不谢。点赞就好