zoukankan      html  css  js  c++  java
  • MybatisPlus 自动填充

    实现MetaObjectHandler接口
    重写方法

    @Slf4j
    @Component
    public class MyMetaObjectHandler implements MetaObjectHandler {

        @Override
        public void insertFill(MetaObject metaObject) {
            if (UserContext.getUser() != null) {
                this.strictInsertFill(metaObject, "creator", String.class, UserContext.getUser().getUsername());
            }
            this.strictInsertFill(metaObject, "creationtime", LocalDateTime.class, LocalDateTime.now());
            Class<?> clazz = metaObject.getOriginalObject().getClass();
            //如果存在最后更新时间
           
    try {
                Field lastupdate = clazz.getDeclaredField("lastupdate");
                this.strictInsertFill(metaObject, "lastupdate", Timestamp.class, new Timestamp(System.currentTimeMillis()));
            } catch (NoSuchFieldException ex) {
                log.info(clazz.getName() + "不需要保存lastupdatetime");
            }
        }

        @Override
        public void updateFill(MetaObject metaObject) {
            if (UserContext.getUser() != null) {
                this.setFieldValByName("modifier", UserContext.getUser().getUsername(), metaObject);
            }
            this.setFieldValByName("modifiedtime", LocalDateTime.now(), metaObject);
            Class<?> clazz = metaObject.getOriginalObject().getClass();
            //如果存在最后更新时间
           
    try {
                Field lastupdate = clazz.getDeclaredField("lastupdate");
                this.setFieldValByName("lastupdate", new Timestamp(System.currentTimeMillis()), metaObject);
            } catch (NoSuchFieldException ex) {
                log.info(clazz.getName() + "不需要保存lastupdatetime");
            }
        }
    }

     
    注意的是:如果存在数据不覆盖,使用strictInsertFill/strictUpdateFill。比如创建时间,创建人
    如果想覆盖数据,使用setFieldValByName。比如修改时间,修改人
  • 相关阅读:
    在业务层进行回滚操作时如何避免回滚指令冗余
    云计算VS大数据 记与思
    [SAPBI]解决:不存在源系统(逻辑系统) T90CLNT090 的源系统标识符
    物料分类账简介
    BW Query设计中公式冲突解决方案
    解决BW处理链中节点有选择的执行
    如何立即手动执行BW周期性处理链
    资产数据源抽取当日增量数据的配置说明
    文本数据源预览出错
    主数据上载因重复记录报错问题解决
  • 原文地址:https://www.cnblogs.com/alua/p/13603088.html
Copyright © 2011-2022 走看看