解决方法:
package com.ccssoft.ngbip.dcbim.common.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.ccssoft.ngbip.dcbim.common.base.entity.BaseEntity; import com.ccssoft.ngbip.dcbim.common.util.MyCommonUtil; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.time.LocalDateTime; /** * <p> * 基础属性自动填充功能 * TODO 用官方的例子走不通;跟踪源码发现实际参数维护的是et对象,该对象为实体对象 * </p> * * @author laiqi * @since 2020-10-22 09:41 */ @Component public class BaseFieldMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { Object entityObj = this.getFieldValByName(Constants.ENTITY, metaObject); if(entityObj instanceof BaseEntity) { ((BaseEntity<?>) entityObj).setCreateTime(LocalDateTime.now()); ((BaseEntity<?>) entityObj).setOperator(MyCommonUtil.getCurrentUserId()); this.setFieldValByName(Constants.ENTITY, entityObj, metaObject); } } @Override public void updateFill(MetaObject metaObject) { Object entityObj = this.getFieldValByName(Constants.ENTITY, metaObject); if(entityObj instanceof BaseEntity) { ((BaseEntity<?>) entityObj).setModifyTime(LocalDateTime.now()); ((BaseEntity<?>) entityObj).setOperator(MyCommonUtil.getCurrentUserId()); this.setFieldValByName(Constants.ENTITY, entityObj, metaObject); } } }