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

}

删除冗余代码


相关推荐
BillKu3 小时前
Spring Boot 3中JWT密钥安全存储方案
spring boot·后端·安全
IT毕设实战小研10 小时前
基于SpringBoot的救援物资管理系统 受灾应急物资管理系统 物资管理小程序
java·开发语言·vue.js·spring boot·小程序·毕业设计·课程设计
Warren9811 小时前
MySQL,Redis重点面试题
java·数据库·spring boot·redis·mysql·spring·蓝桥杯
自由自在的小Bird14 小时前
kafka初步介绍
spring boot·后端·kafka
MrSYJ15 小时前
为什么引入springsecurity的依赖后,会自动创建了过滤器链
spring boot·后端·代码规范
Q_Q196328847518 小时前
python基于Hadoop的超市数据分析系统
开发语言·hadoop·spring boot·python·django·flask·node.js
小乌龟不会飞18 小时前
【SpringBoot】统一功能处理
java·spring boot·后端
考虑考虑18 小时前
JPA中的EntityGraph
spring boot·后端·spring
用户849137175471619 小时前
Access Token + Refresh Token 全解析:前后端分离架构的认证与安全方案
vue.js·spring boot·架构