【Java】通过Mybatis Plus自带的方式,实现公共字段自动填充。
通过Mybatis Plus自带的方式实现公共字段自动填充。第一步创建一个公共字段类加上对应注解。DatapublicclassBaseEntityimplementsSerializable{SerialprivatestaticfinallongserialVersionUID1L;TableField(valuecreate_at,fillFieldFill.INSERT)privateLocalDateTimecreateAt;TableField(valuecreate_by,fillFieldFill.INSERT)privateStringcreateBy;TableField(valueupdate_at,fillFieldFill.INSERT_UPDATE)privateLocalDateTimeupdateAt;TableField(valueupdate_by,fillFieldFill.INSERT_UPDATE)privateStringupdateBy;}第二步创建一个类实现MetaObjectHandler接口重写注解对应实现方法并且加上Component注解纳入IOC容器管理。ComponentpublicclassMyMetaObjectHandlerimplementsMetaObjectHandler{OverridepublicvoidinsertFill(MetaObjectmetaObject){StringloginIdStpUtil.isLogin()?StpUtil.getLoginIdAsString():null;this.strictInsertFill(metaObject,createAt,LocalDateTime::now,LocalDateTime.class);this.strictInsertFill(metaObject,createBy,()-loginId,String.class);this.strictInsertFill(metaObject,updateAt,LocalDateTime::now,LocalDateTime.class);this.strictInsertFill(metaObject,updateBy,()-loginId,String.class);}OverridepublicvoidupdateFill(MetaObjectmetaObject){StringloginIdStpUtil.isLogin()?StpUtil.getLoginIdAsString():null;this.strictUpdateFill(metaObject,updateAt,LocalDateTime::now,LocalDateTime.class);this.strictInsertFill(metaObject,updateBy,()-loginId,String.class);}}第三步实体类继承公共字段类实现调用Mybatis Plus自带的插入或修改方法时公共字段自动填充。DataEqualsAndHashCode(callSupertrue)TableName(user)Schema(title用户实体,description系统用户信息包含登录认证和基本信息)publicclassUserextendsBaseEntity{SerialprivatestaticfinallongserialVersionUID1L;/** * 主键ID */Schema(title用户ID)TableId(valueid,typeIdType.AUTO)privateIntegerid;/** * 用户登录邮箱 */Schema(title邮箱)TableField(email)privateStringemail;/** * BCrypt密码哈希 */Schema(title密码)TableField(password)privateStringpassword;/** * 用户昵称 */Schema(title昵称)TableField(nickname)privateStringnickname;/** * 用户角色 */Schema(title角色)TableField(role)privateStringrole;/** * 头像URL */Schema(title头像URL)TableField(avatar_url)privateStringavatarUrl;}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2501234.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!