MyBatis-Plus简单使用——公共字段填充 (11)

1、注解填充字段:

/**
 * FieldFill 值:
 *  DEFAULT(0, "默认不处理"),
 *  INSERT(1, "插入填充字段"),
 *  UPDATE(2, "更新填充字段"),
 *  INSERT_UPDATE(3, "插入和更新填充字段");
 */
@TableField(fill =FieldFill.INSERT_UPDATE)
private String userName;

2、编写自定义公共字段填充处理器:

public class MyMetaObjectHandler extends MetaObjectHandler {
    /**
     * 插入时填充
     * @param metaObject
     */
    public void insertFill(MetaObject metaObject) {
        //获取到需要被填充的字段的值
        Object fieldValue = getFieldValByName("name", metaObject);
        if(fieldValue == null) {
            System.out.println("*******插入操作 满足填充条件*********");
            setFieldValByName("userName", "xiaoming", metaObject);
        }
    }

    /**
     * 修改时填充
     * @param metaObject
     */
    public void updateFill(MetaObject metaObject) {
        //获取到需要被填充的字段的值
        Object fieldValue = getFieldValByName("name", metaObject);
        if(fieldValue == null) {
            System.out.println("*******插入操作 满足填充条件*********");
            setFieldValByName("userName", "xiaoming", metaObject);
        }
    }
}

3、注入自定义公共字段填充处理器:



    
    

    
   

    
    

    

    
    

    
    





4、测试:

 User user=new User();
 user.setUserEmail("[email protected]");
 user.setUserAge(30);
 user.insert();

你可能感兴趣的:(MyBatis-Plus)