1. 概述
原生mybatisplus只能做%s+1和now两种填充,注解TableField的fill属性可以实现mybatisplus-plus在插入或更新时对指定字段进行自定义复杂sql填充。
2.MyBatis自定义填充字段值
定义填充类
/**
* @author dongr
* @Title: Mybatis之自动填充
* @Description: TODO
* @date 2022/4/22
*/
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(final MetaObject metaObject) {
this.setFieldValByName("createtime", new Date(), metaObject);
}
@Override
public void updateFill(final MetaObject metaObject) {
//TODO xxx
}
}
使用时对TableField添加fill属性值
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
@TableField(value = "CREATETIME",fill = FieldFill.INSERT)
private Date createtime;