mybatisplus实现指定字段新增更新时自动填充

导读:本篇文章讲解 mybatisplus实现指定字段新增更新时自动填充,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1. 实体类处理
需要填充的字段加上以下注解
在这里插入图片描述
FieldFill是mybatisplus提供的枚举类,可根据自己的需要选择。


/**
 * 字段填充策略枚举类
 *
 * <p>
 * 判断注入的 insert 和 update 的 sql 脚本是否在对应情况下忽略掉字段的 if 标签生成
 * <if test="...">......</if>
 * 判断优先级比 {@link FieldStrategy} 高
 * </p>
 *
 * @author hubin
 * @since 2017-06-27
 */
public enum FieldFill {
    /**
     * 默认不处理
     */
    DEFAULT,
    /**
     * 插入时填充字段
     */
    INSERT,
    /**
     * 更新时填充字段
     */
    UPDATE,
    /**
     * 插入和更新时填充字段
     */
    INSERT_UPDATE
}

2. 字段填充控制器实现

@Component
@Slf4j
public class MyMetaObjectHandler implements MetaObjectHandler {

  @Override
  public void insertFill(MetaObject metaObject) {
    log.info("come to insert fill .........");
    this.setFieldValByName("createTime",LocalDateTime.now(),metaObject);
    this.setFieldValByName("updateTime",LocalDateTime.now(),metaObject);
  }
  @Override
  public void updateFill(MetaObject metaObject) {
    log.info("come to update fill .........");
    this.setFieldValByName("updateTime",LocalDateTime.now(),metaObject);
  }
}

MetaObjectHandler类中提供的方法很多,也都有中文注释,可点进去根据需求选择。

这样我规定的创建时间和更新时间的自动填充就完成了。
:上文可以看出,我的更新时间在两个方法中都加入了,这是需要的,只在updateFill方法中加入的话,更新时间会不断被赋予null值

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/92308.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!