参考mybatis-plus官网的手册

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

FieldFill

默认值是:FieldFill.DEFAULT

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

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

    @TableField(value = "create_time",fill = FieldFill.INSERT)private Date createTime;@TableField(value = "create_user",fill = FieldFill.INSERT)private Long createUser;@TableField(value = "update_time",fill = FieldFill.UPDATE)private Date updateTime;@TableField(value = "update_user",fill = FieldFill.UPDATE)private Long updateUser;

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

/*** 自动补充插入或更新时的值* */
@Component
public class CustomMetaObjectHandler implements MetaObjectHandler {private static final Logger log = LoggerFactory.getLogger(CustomMetaObjectHandler.class);public CustomMetaObjectHandler() {}public void insertFill(MetaObject metaObject) {try {this.setFieldValByName("createUser", this.getUserUniqueId(), metaObject);this.setFieldValByName("createTime", new Date(), metaObject);this.setFieldValByName("delFlag", YesOrNotEnum.N.getCode(), metaObject);this.setFieldValByName("statusFlag", StatusEnum.ENABLE.getCode(), metaObject);} catch (ReflectionException var3) {log.warn("CustomMetaObjectHandler处理过程中无相关字段,不做处理");}}public void updateFill(MetaObject metaObject) {try {this.setFieldValByName("updateUser", this.getUserUniqueId(), metaObject);this.setFieldValByName("updateTime", new Date(), metaObject);} catch (ReflectionException var3) {log.warn("CustomMetaObjectHandler处理过程中无相关字段,不做处理");}}
}

@TableField fill相关推荐

  1. @TableField(fill = FieldFill.INSERT)

    @TableField(fill = FieldFill.INSERT) 是 MyBatis-Plus 中的注解,用于设置实体类中对应的字段在插入时需要自动填充. @TableField 注解表示该字 ...

  2. 记得写 @TableField(fill = FieldFill.INSERT)

    当代码逻辑没问题 但就是直接报错时,查看自己的实体类是否有自动插入创建时间和修改时间     

  3. MyBatisPlus中使用 @TableField完成字段自动填充

    场景 官方文档: 字段注解 @TableField com.baomidou.mybatisplus.annotations.TableField 值 描述 value 字段值(驼峰命名方式,该值可无 ...

  4. 初学MyBatis-Plus

    文章目录 MyBatis-Plus MyBatisPlus概述 快速开始 配置日志 CRUD扩展 插入操作 主键生成策略 更新操作 自动填充 乐观锁 查询操作 分页查询 删除操作 逻辑删除 性能分析插 ...

  5. 快速上手MyBatisPlus~(基友搭配,效率翻倍)

    目录 一.简介 二.快速入门 1. 创建数据库及数据表 2. 新建项目,导入依赖 3. 编写数据库配置文件&连接 4. 创建pojo实体类 5. 编写mapper&扫描 6. 测试类简 ...

  6. MyBatis-Plus,搭配 Spring Boot 使用,一篇就够了

    以下文章来源方志朋的博客,回复"666"获面试宝典 MyBatis-plus 是一款 Mybatis 增强工具,用于简化开发,提高效率.下文使用缩写 mp来简化表示 MyBatis ...

  7. MyBatis-Plus 看这篇就够了

    点击关注公众号,Java干货及时送达 本文作者:yogurtzzz :juejin.cn/post/6961721367846715428 MyBatis-plus 是一款 Mybatis 增强工具, ...

  8. Mybatis-plus常用API全套教程,看完没有不懂的

    点击关注公众号,Java干货及时送达 作者:java架构师阿松 www.toutiao.com/i6869621037831717387 前言 官网: https://baomidou.com/ 创建 ...

  9. 千言万语汇总的Mybatis-plus常用API全套教程

    前言 官网: https://baomidou.com/ 创建数据库 数据库名为mybatis_plus 创建表 创建user表 DROP TABLE IF EXISTS user; CREATE T ...

最新文章

  1. spring注解事务
  2. 皮一皮:论圈子的重要性!
  3. 不等号属于不等式吗_考研专业课备考时,仅仅多刷几遍目标院校的期末考试题就够吗?...
  4. Linux重新编译内核指南
  5. 12款很棒的浏览器兼容性测试工具推荐
  6. java thread应用_JAVA线程应用Thread
  7. 部分 I. 教程_第 2 章 SQL语言_2.2. 概念
  8. windows server 2012 开始菜单
  9. 已解决:nginx修改上传文件大小限制
  10. cad放大_如何玩转CAD看图?1分钟,一款完全免费的高效软件,解决所有看图
  11. 莫兰指数stata命令_一文读懂16个sp系列stata空间计量命令及应用
  12. MINT:蛋白质相互作用数据库简介
  13. js 翻转数组 倒序排列
  14. 网络安全必会的基础知识
  15. git 创建分支并上传代码
  16. linux下at24c02驱动程序,Linux下iic(i2c)读写AT24C02
  17. Cerebral Cortex:基因和环境对大脑功能连接的影响
  18. vue 项目node服务器部署流程
  19. 在此计算机运行应用程序灰色,手把手教你解决win10系统自带应用呈灰色无法打开的处理教程...
  20. 测试人员的工作周报或工作总结怎么编写?

热门文章

  1. sqlserver远程连接mysql_sqlserver2005远程连接 mysql
  2. 读《禅与摩托车维修艺术》
  3. 不得不知的101种心理防御机制,识别并超越它们
  4. 服务器中内存不够的原因
  5. 如果恰巧有一台超微服务器,如何调节风扇转速
  6. 9个学习资源分享给大家,总有你需要的干货!
  7. matlab plot大小,Matlab 修改plot大小
  8. 创建型设计模式(待更新)
  9. https 以及内网如何使用
  10. 视觉SLAM(二):相机与图像