果洛藏族自治州网站建设_网站建设公司_电商网站_seo优化
2026/1/16 12:46:45 网站建设 项目流程

自动填充功能通过实现 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");}}

流程

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询