mybatis_plus自动填充字段,统一填充创建时间、更新时间创建人更新人等
·
实体
@TableField(fill = FieldFill.INSERT)
private String createByName;
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
填充类
package com.talents.application.config;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.talents.application.entity.dto.Account;
import com.talents.application.service.AccountService;
import com.talents.application.utils.SpringUtils;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.User;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 自动填充处理类
*
**/
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject)
{
String userId = "system";
String userName = "system";
User user = null;
try
{
user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
} catch (Exception e)
{
}
if (user != null)
{
AccountService accountService = SpringUtils.getBean(AccountService.class);
Account account = accountService.findAccountByJobNumber(user.getUsername());
if (account != null)
{
userId = account.getId();
userName = account.getName();
}
}
this.setFieldValByName("createTime", new Date(), metaObject);
this.setFieldValByName("createBy", userId, metaObject);
this.setFieldValByName("createByName", userName, metaObject);
}
@Override
public void updateFill(MetaObject metaObject)
{
String userId = "system";
User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
if (user != null)
{
AccountService accountService = SpringUtils.getBean(AccountService.class);
Account account = accountService.findAccountByJobNumber(user.getUsername());
if (account != null)
{
userId = account.getId();
}
}
this.setFieldValByName("updateTime", new Date(), metaObject);
this.setFieldValByName("updateBy", userId, metaObject);
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)