当前位置: 首页 > news >正文

Mybatis-plus自动填充字段

自动填充功能通过实现 com.baomidou.mybatisplus.core.handlers.MetaObjectHandler 接口来实现

@DatapublicclassUser{@TableId(type=IdType.AUTO)privateLongid;privateStringusername;// 仅在插入时填充@TableField(fill=FieldFill.INSERT)privateLocalDateTimecreateTime;// 在插入和更新时都填充@TableField(fill=FieldFill.INSERT_UPDATE)privateLocalDateTimeupdateTime;// 仅在插入时填充@TableField(fill=FieldFill.INSERT)privateStringcreateBy;// 在插入和更新时都填充@TableField(fill=FieldFill.INSERT_UPDATE)privateStringupdateBy;}
@Component@Slf4jpublicclassMyMetaObjectHandlerimplementsMetaObjectHandler{@OverridepublicvoidinsertFill(MetaObjectmetaObject){log.info("开始插入填充...");// 填充创建时间this.strictInsertFill(metaObject,"createTime",LocalDateTime.class,LocalDateTime.now());// 填充更新时间(插入时与创建时间一致)this.strictInsertFill(metaObject,"updateTime",LocalDateTime.class,LocalDateTime.now());// 填充创建人(模拟从上下文获取当前登录用户)this.strictInsertFill(metaObject,"createBy",String.class,getCurrentUser());// 填充更新人(插入时与创建人一致)this.strictInsertFill(metaObject,"updateBy",String.class,getCurrentUser());}@OverridepublicvoidupdateFill(MetaObjectmetaObject){log.info("开始更新填充...");// 填充更新时间this.strictUpdateFill(metaObject,"updateTime",LocalDateTime.class,LocalDateTime.now());// 填充更新人this.strictUpdateFill(metaObject,"updateBy",String.class,getCurrentUser());}// 获取当前用户(实际项目中从Token/Session解析)privateStringgetCurrentUser(){returnOptional.ofNullable(SecurityContextHolder.getContext()).map(SecurityContext::getAuthentication).map(Authentication::getName).orElse("system");}}

流程

http://www.jsqmd.com/news/200808/

相关文章:

  • 深入解析AI Agent五件套:从感知到学习的完整指南【必收藏】
  • 【必学收藏】大模型架构深度解析:一文读懂自注意力机制原理与代码实现
  • 【QWen1.5】使用AutoDL多卡对QWen1.5-7B模型进行lora微调
  • 原创大规模无人机检测数据集:11998张高质量图像,支持YOLOv8、COCO、TensorFlow多格式训练,涵盖飞机、无人机、直升机三大目标类别
  • 为什么大模型如此强大我们还要微调?程序员必收藏的微调详解
  • 网页自动翻页工具(执行PageDown)
  • 在 IntelliJ IDEA 中使用 JUnit 进行单元测试 - 详解
  • 【值得收藏】MCP协议入门到实战:大模型与外部系统交互的通用桥梁,附代码与学习资源
  • 收藏必备!从零构建AI Agent:知识库、工作流与Prompt工程实战指南
  • 从入门到精通:企业级RAG系统实战指南,收藏级RAG开发全流程解析
  • CSS极坐标的实例代码
  • 数学总结
  • 2025 年度总结:在坚持与突破中前行
  • 你的网站SSL证书又要过期了?这个工具能让你永久告别焦虑
  • 【必收藏】法律大模型实战:从文档到知识图谱的RAG系统构建全攻略
  • 2026爆火6款免费AI论文生成器:1小时初稿全学科覆盖!
  • RAG全栈学习笔记-Graph RAG
  • 【珍藏】从零掌握大模型检索增强技术:RAG到GraphRAG的完整指南
  • Ftp服务部署
  • 实用指南:Node.js:从浏览器到服务器的JS革命
  • 【必学收藏】MoE架构深度解析:大模型高效训练的核心技术与实战应用
  • 本地知识库:你的数据安全守护者
  • 【必学收藏】从入门到精通:Prompt工程的演变、价值与实战技巧
  • 智能学习资源管理平台 - Beta冲刺总结
  • 牛批了,windows系统神器,一键搞定
  • Linux 中 awk 利用外部文件传入数字变量,利用循坏提取特定列
  • 大模型应用架构实战指南:六大核心层解析与最佳实践,程序员必读收藏
  • 【参数优化】基于粒子群算法实现GaN HEMT小信号模型器件拟合参数优化附matlab代码
  • 2026爆火6款AI论文工具:一键生成初稿,写论文从未如此简单!
  • LeetCode 466 统计重复个数