| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package com.video.handler;
- import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.ibatis.reflection.MetaObject;
- import org.springframework.stereotype.Component;
- import org.springframework.web.context.request.RequestAttributes;
- import org.springframework.web.context.request.RequestContextHolder;
- import org.springframework.web.context.request.ServletRequestAttributes;
- import javax.servlet.http.HttpServletRequest;
- import java.util.Date;
- @Slf4j
- @Component // 一定不要忘记把处理器加到IOC容器中!
- public class MyMetaObjectHandler implements MetaObjectHandler {
- // 插入时的填充策略
- @Override
- public void insertFill(MetaObject metaObject) {
- HttpServletRequest request = getHttpServletRequest();
- Long user_id = 1L;//request.getHeader("user_id") == null ? "测试" : request.getHeader("user_id");
- log.info("start insert fill.....");
- // setFieldValByName(String fieldName, Object fieldVal, MetaObject metaObject
- this.setFieldValByName("createTime",new Date(),metaObject);
- this.setFieldValByName("updateTime",new Date(),metaObject);
- this.setFieldValByName("createUser",user_id,metaObject);
- this.setFieldValByName("updateUser",user_id,metaObject);
- }
- // 更新时的填充策略
- @Override
- public void updateFill(MetaObject metaObject) {
- HttpServletRequest request = getHttpServletRequest();
- Long user_id = 1L;
- log.info("start update fill.....");
- this.setFieldValByName("updateTime",new Date(),metaObject);
- this.setFieldValByName("updateUser",user_id,metaObject);
- }
- private HttpServletRequest getHttpServletRequest() {
- RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
- ServletRequestAttributes attributes = (ServletRequestAttributes) requestAttributes;
- return attributes.getRequest();
- }
- }
|