@TableField fill
参考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相关推荐
- @TableField(fill = FieldFill.INSERT)
@TableField(fill = FieldFill.INSERT) 是 MyBatis-Plus 中的注解,用于设置实体类中对应的字段在插入时需要自动填充. @TableField 注解表示该字 ...
- 记得写 @TableField(fill = FieldFill.INSERT)
当代码逻辑没问题 但就是直接报错时,查看自己的实体类是否有自动插入创建时间和修改时间
- MyBatisPlus中使用 @TableField完成字段自动填充
场景 官方文档: 字段注解 @TableField com.baomidou.mybatisplus.annotations.TableField 值 描述 value 字段值(驼峰命名方式,该值可无 ...
- 初学MyBatis-Plus
文章目录 MyBatis-Plus MyBatisPlus概述 快速开始 配置日志 CRUD扩展 插入操作 主键生成策略 更新操作 自动填充 乐观锁 查询操作 分页查询 删除操作 逻辑删除 性能分析插 ...
- 快速上手MyBatisPlus~(基友搭配,效率翻倍)
目录 一.简介 二.快速入门 1. 创建数据库及数据表 2. 新建项目,导入依赖 3. 编写数据库配置文件&连接 4. 创建pojo实体类 5. 编写mapper&扫描 6. 测试类简 ...
- MyBatis-Plus,搭配 Spring Boot 使用,一篇就够了
以下文章来源方志朋的博客,回复"666"获面试宝典 MyBatis-plus 是一款 Mybatis 增强工具,用于简化开发,提高效率.下文使用缩写 mp来简化表示 MyBatis ...
- MyBatis-Plus 看这篇就够了
点击关注公众号,Java干货及时送达 本文作者:yogurtzzz :juejin.cn/post/6961721367846715428 MyBatis-plus 是一款 Mybatis 增强工具, ...
- Mybatis-plus常用API全套教程,看完没有不懂的
点击关注公众号,Java干货及时送达 作者:java架构师阿松 www.toutiao.com/i6869621037831717387 前言 官网: https://baomidou.com/ 创建 ...
- 千言万语汇总的Mybatis-plus常用API全套教程
前言 官网: https://baomidou.com/ 创建数据库 数据库名为mybatis_plus 创建表 创建user表 DROP TABLE IF EXISTS user; CREATE T ...
最新文章
- spring注解事务
- 皮一皮:论圈子的重要性!
- 不等号属于不等式吗_考研专业课备考时,仅仅多刷几遍目标院校的期末考试题就够吗?...
- Linux重新编译内核指南
- 12款很棒的浏览器兼容性测试工具推荐
- java thread应用_JAVA线程应用Thread
- 部分 I. 教程_第 2 章 SQL语言_2.2. 概念
- windows server 2012 开始菜单
- 已解决:nginx修改上传文件大小限制
- cad放大_如何玩转CAD看图?1分钟,一款完全免费的高效软件,解决所有看图
- 莫兰指数stata命令_一文读懂16个sp系列stata空间计量命令及应用
- MINT:蛋白质相互作用数据库简介
- js 翻转数组 倒序排列
- 网络安全必会的基础知识
- git 创建分支并上传代码
- linux下at24c02驱动程序,Linux下iic(i2c)读写AT24C02
- Cerebral Cortex:基因和环境对大脑功能连接的影响
- vue 项目node服务器部署流程
- 在此计算机运行应用程序灰色,手把手教你解决win10系统自带应用呈灰色无法打开的处理教程...
- 测试人员的工作周报或工作总结怎么编写?