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

}

删除冗余代码


相关推荐
ym hyd 11120 分钟前
慢性病精细化管理平台源码 Java+SpringBoot+Vue3 前后分离
java·vue.js·spring boot·毕设
RuoyiOffice31 分钟前
SpringBoot3+Vue3 低代码业务表单:从拖拽设计、独立建表到审批与数据查询
spring boot·vue3·数据建模·flowable·版本管理·低代码表单·ruoyi office
需要82642 分钟前
MySQL MVCC 与事务隔离级别:从一条 update 看版本链
java·数据库·spring boot·mysql·spring cloud
RuoyiOffice1 小时前
SpringBoot3 企业薪酬核算:考勤、绩效与薪资规则如何算出一张可解释的工资单
spring boot·vue3·规则引擎·hrm·ruoyi office·薪酬核算·薪资试算
阿狗童鞋2 小时前
SpringBoot微服务实战指南
spring boot·后端·微服务
程序猿乐锅3 小时前
【黑马点评 | 第九篇】秒杀优化-异步实现
java·spring boot·redis·后端·spring·中间件·mybatis
Wx-bishekaifayuan3 小时前
springboot户外登山社交小程序19787-计算机课程设计、毕业设计
spring boot·后端·python·spring·elasticsearch·django·课程设计
+VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue外卖点餐系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
FYKJ_20103 小时前
springboot刑事案件管理系统03047-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
小辰爱喝汤4 小时前
新闻管理系统|SpringBoot + Vue 毕业设计完整方案
spring boot·毕业设计·课程设计