MybatisPlus 自動填充
阿新 • • 發佈:2020-08-09
自動填充
1.在java實體檔案屬性中增加自動填充的時機
file:自動填充的時機
/** * 預設不處理/ DEFAULT, /* * 插入填充欄位/ INSERT, /* * 更新填充欄位/ UPDATE, /* * 插入和更新填充欄位 */ INSERT_UPDATE
//建立時間
@TableField(fill=FieldFill.INSERT)
private LocalDateTime createTime;
//更新時間
@TableField(fill=FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
配置自動填充處理器
import java.time.LocalDateTime;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
/**
* 建立時自動填充
* @Description: TODO(這裡用一句話描述這個方法的作用)
* @param: @param metaObject
* @throws
*/
@Override
public void insertFill(MetaObject metaObject) {
System.out.println("insert 自動填充");
//如果實體中有建立時間屬性才會進行自動填充
boolean b=metaObject.hasSetter("createTime");
if(b){
//createTime 為Java實體物件屬性
setInsertFieldValByName("createTime", LocalDateTime.now(), metaObject);
setInsertFieldValByName("updateTime", LocalDateTime.now(), metaObject);
}
}
/**
* 更新時自動填充
* @Description: TODO(這裡用一句話描述這個方法的作用)
* @param: @param metaObject
* @throws
*/
@Override
public void updateFill(MetaObject metaObject) {
System.out.println("update 自動填充");
setUpdateFieldValByName("updateTime", LocalDateTime.now(), metaObject);
}
}
來源:站長資訊中心