当前位置:   article > 正文

@TableField fill

@tablefield fill

参考mybatis-plus官网的手册

https://mp.baomidou.com/guide/annotation.html#tablefield

FieldFill

默认值是:FieldFill.DEFAULT

描述
DEFAULT默认不处理
INSERT插入时填充字段
UPDATE更新时填充字段
INSERT_UPDATE插入和更新时填充字段

 一般在JAVA 数据库持久化类DTO中定义,为了在数据insert、update时,能够自动填充

  1. @TableField(
  2. value = "create_time",
  3. fill = FieldFill.INSERT
  4. )
  5. private Date createTime;
  6. @TableField(
  7. value = "create_user",
  8. fill = FieldFill.INSERT
  9. )
  10. private Long createUser;
  11. @TableField(
  12. value = "update_time",
  13. fill = FieldFill.UPDATE
  14. )
  15. private Date updateTime;
  16. @TableField(
  17. value = "update_user",
  18. fill = FieldFill.UPDATE
  19. )
  20. private Long updateUser;

配置完成后,就是解决在哪里触发填充的事,它是通过定义拦截器xxx,继承mybatis-plus core中的接口MetaObjectHandler,插入时填充操作卸载insertFill,依次类推。

  1. /**
  2. * 自动补充插入或更新时的值
  3. *
  4. */
  5. @Component
  6. public class CustomMetaObjectHandler implements MetaObjectHandler {
  7. private static final Logger log = LoggerFactory.getLogger(CustomMetaObjectHandler.class);
  8. public CustomMetaObjectHandler() {
  9. }
  10. public void insertFill(MetaObject metaObject) {
  11. try {
  12. this.setFieldValByName("createUser", this.getUserUniqueId(), metaObject);
  13. this.setFieldValByName("createTime", new Date(), metaObject);
  14. this.setFieldValByName("delFlag", YesOrNotEnum.N.getCode(), metaObject);
  15. this.setFieldValByName("statusFlag", StatusEnum.ENABLE.getCode(), metaObject);
  16. } catch (ReflectionException var3) {
  17. log.warn("CustomMetaObjectHandler处理过程中无相关字段,不做处理");
  18. }
  19. }
  20. public void updateFill(MetaObject metaObject) {
  21. try {
  22. this.setFieldValByName("updateUser", this.getUserUniqueId(), metaObject);
  23. this.setFieldValByName("updateTime", new Date(), metaObject);
  24. } catch (ReflectionException var3) {
  25. log.warn("CustomMetaObjectHandler处理过程中无相关字段,不做处理");
  26. }
  27. }
  28. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/505497
推荐阅读
相关标签
  

闽ICP备14008679号