基于 Spring Boot 瑞吉外賣系統開發(八)
自動填充公共字段
MyBatis-Plus公共字段自動填充,也就是在插入或者更新的時候為指定字段賦予指定的值,使用它的好處就是可以統一對這些字段進行處理,降低了冗余代碼的數量。本系統中有四個公共字段,需要在新增或更新時進行自動賦值操作。
使用MyBatis-Plus為公共字段自動填充時,需要在實體類的屬性上加入@TableField注解,指定自動填充的策略,并編寫元數據對象處理器,在類中統一為公共字段賦值。
自定義元數據對象處理器
在com.itheima.reggie.common包下自定義元數據對象處理器,在該元數據對象處理器中創建插入和更新操作時公共字段自動填充的方法。
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {@Autowiredpublic HttpSession session;@Overridepublic 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());}@Overridepublic void updateFill(MetaObject metaObject) {Employee loginEmployee = (Employee) session.getAttribute("loginEmployee");metaObject.setValue("updateTime", LocalDateTime.now());metaObject.setValue("updateUser",loginEmployee.getId());}}
刪除冗余代碼