mybatisplus的公共字段插入的实现
Mybatis的公共字段插入的实现,具体内容如下所示:
公共的基础类
packagecom.yss.common.domain; importcom.baomidou.mybatisplus.annotation.FieldFill; importcom.baomidou.mybatisplus.annotation.IdType; importcom.baomidou.mybatisplus.annotation.TableField; importcom.baomidou.mybatisplus.annotation.TableId; importcom.baomidou.mybatisplus.extension.activerecord.Model; importlombok.Data; importjava.util.Date; /** *@authorwyy *@version1.0 *@date2020/11/513:23 */ @Data publicabstractclassBasicEntity>extendsModel { @TableId(value="ID",type=IdType.ASSIGN_ID) privateStringid; @TableField(value="CREATOR_ID",fill=FieldFill.INSERT) privateStringcreatorId; @TableField(value="CREATOR",fill=FieldFill.INSERT) privateStringcreator; @TableField(value="CREATETIME",fill=FieldFill.INSERT) privateDatecreateTime; @TableField(value="MODIFY_ID",fill=FieldFill.UPDATE) privateStringmodifyId; @TableField(value="MODIFY_BY",fill=FieldFill.UPDATE) privateStringmodifyBy; @TableField(value="MODIFYTIME",fill=FieldFill.UPDATE) privateDatemodifyTime; @TableField("DELETED") privateintdeleted; }
该类定义了主要基于泛型,以及公共插入(createor/creatorid)与更新的字段(modifyid/modifyby)。
新增注解:@TableField(value=“CREATETIME”,fill=FieldFill.INSERT)
更新注解:@TableField(value=“MODIFY_BY”,fill=FieldFill.UPDATE)
MybatisPlus对公共字段的配置
packagecom.yss.common.utils;
importcom.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
importcom.yss.common.domain.SSOUserInfo;
importorg.apache.ibatis.reflection.MetaObject;
importorg.springframework.stereotype.Component;
importjava.util.Date;
/**
*@authorwyy
*@version1.0
*@date2020/11/513:30
*/
@Component
publicclassMybatisAuditHandlerimplementsMetaObjectHandler{
@Override
publicvoidinsertFill(MetaObjectmetaObject){
SSOUserInfossoUserInfo=UserInfoUtils.getThreadUserInfo();
this.strictInsertFill(metaObject,"creatorId",String.class,ssoUserInfo.getId());
this.strictInsertFill(metaObject,"creator",String.class,ssoUserInfo.getUserPrincipalName());
this.strictInsertFill(metaObject,"createTime",Date.class,newDate());
}
@Override
publicvoidupdateFill(MetaObjectmetaObject){
SSOUserInfossoUserInfo=UserInfoUtils.getThreadUserInfo();
this.strictInsertFill(metaObject,"modifyId",String.class,ssoUserInfo.getId());
this.strictInsertFill(metaObject,"modifyBy",String.class,ssoUserInfo.getUserPrincipalName());
this.strictInsertFill(metaObject,"modifyTime",Date.class,newDate());
}
}
需要注意的是采用@component注解,告知spring容器是一个bean等。这样的话就实现了mybatisplus的公共自断的新增与更改。
要注意的是,在进行handler方法重写时,
this.strictInsertFill(metaObject,“creator”,String.class,ssoUserInfo.getUserPrincipalName());
这是自的是实体类的字段,并不是数据库对应字段。
到此这篇关于mybatisplus的公共字段插入的文章就介绍到这了,更多相关mybatisplus公共字段内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!