基于 Spring Boot 瑞吉外卖系统开发(八)

基于 Spring Boot 瑞吉外卖系统开发(八)

自动填充公共字段

MyBatis-Plus公共字段自动填充,也就是在插入或者更新的时候为指定字段赋予指定的值,使用它的好处就是可以统一对这些字段进行处理,降低了冗余代码的数量。本系统中有四个公共字段,需要在新增或更新时进行自动赋值操作。

使用MyBatis-Plus为公共字段自动填充时,需要在实体类的属性上加入@TableField注解,指定自动填充的策略,并编写元数据对象处理器,在类中统一为公共字段赋值。

自定义元数据对象处理器

在com.itheima.reggie.common包下自定义元数据对象处理器,在该元数据对象处理器中创建插入和更新操作时公共字段自动填充的方法。

java 复制代码
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    @Autowired
    public HttpSession session;

    @Override
    public void insertFill(MetaObject metaObject) {
        Employee loginEmployee = (Employee) session.getAttribute("loginEmployee");
        metaObject.setValue("createTime", LocalDateTime.now());
        metaObject.setValue("updateTime",LocalDateTime.now());
        metaObject.setValue("createUser",loginEmployee.getId());
        metaObject.setValue("updateUser",loginEmployee.getId());
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        Employee loginEmployee = (Employee) session.getAttribute("loginEmployee");
        metaObject.setValue("updateTime", LocalDateTime.now());
        metaObject.setValue("updateUser",loginEmployee.getId());
    }

}

删除冗余代码


相关推荐
java1234_小锋9 小时前
Java高频面试题:Springboot的自动配置原理?
java·spring boot·面试
陌殇殇11 小时前
001 Spring AI Alibaba框架整合百炼大模型平台 — 快速入门
人工智能·spring boot·ai
还在忙碌的吴小二13 小时前
Harness 最佳实践:Java Spring Boot 项目落地 OpenSpec + Claude Code
java·开发语言·spring boot·后端·spring
ai产品老杨14 小时前
异构计算时代的视频底座:基于 ZLMediaKit 与 Spring Boot 的 X86/ARM 跨平台架构解析
arm开发·spring boot·音视频
老神在在00114 小时前
Spring Boot 全局异常处理器(GlobalExceptionHandler)
spring boot·spring·java-ee·状态模式·
han_hanker15 小时前
@GetMapping @PostMapping @DeleteMapping @PutMapping
spring boot
han_hanker16 小时前
@Validated @Valid 用法
java·spring boot
言慢行善16 小时前
SpringBoot中的注解介绍
java·spring boot·后端
许杰小刀17 小时前
MyBatis-Plus实战:Spring Boot数据库操作效率提升10倍
数据库·spring boot·mybatis