目录
在使用mybatisplus项目中设置公共字段填充,可以按如下进行配置
一、实体类配置
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime; //创建时间
@TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime; //修改时间
fill设置自动填充字段的类型,多为insert和update,在执行这些操作时,对应的字段会被填充。
二、配置MyBatis Plus元对象处理器
@Component
@Slf4j
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
log.info("自动填充添加字段");
this.setFieldValByName("createTime",LocalDateTime.now(),metaObject);
this.setFieldValByName("updateTime",LocalDateTime.now(),metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
log.info("自动填充修改字段");
this.setFieldValByName("updateTime",LocalDateTime.now(),metaObject);
}
}
实现了 MyBatis Plus 提供的 MetaObjectHandler
接口,覆写了其中的 insertFill
和 updateFill
方法。
三、接口字段自动填充
/**
* 添加部门
*
* @param dept 部门信息
*/
@Override
public void add(Dept dept) {
deptMapper.insert(dept);
}
日志输出结果: