基于 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());
    }

}

删除冗余代码


相关推荐
杨运交22 分钟前
[044][Web模块]基于 Google Authenticator 的 TOTP 双因素认证框架设计与实现
spring boot
二宝哥1 小时前
springboot项目使用Gradle工具实现依赖版本控制
java·spring boot·后端·gradle·版本
卓怡学长2 小时前
w273基于springboot的智能笔记的开发与应用
java·spring boot·spring·intellij-idea
Kyrie_Li13 小时前
Spring Boot Kafka 生产级配置全解析:从入门到精通
spring boot·后端·kafka
小强库计算机毕业设计1 天前
源码分享Spring Boot + Vue3 的校园社团管理系统
java·spring boot·后端·计算机毕业设计
格子软件1 天前
2026年分布式GEO代理流量调度:源码级状态机防重挂实战
java·vue.js·人工智能·spring boot·分布式·vue
万亿少女的梦1681 天前
基于Spring Boot的天空影院电影网站系统设计与实现
java·spring boot·mysql·vue·系统设计
万亿少女的梦1681 天前
基于Spring Boot的社区管理系统设计与实现
java·spring boot·mysql·vue·系统设计
agent8971 天前
Spring Boot 接口超时治理:从连接池、线程池到熔断限流的完整排查思路
java·spring boot·后端