MyBatis Plus处理gmtCreate与 gmtModi

2021-05-05  本文已影响0人  天马行空_9f6e

实现当给表插入一条数据的时候,对gmtCreate与gmtModified两个时间字段进行操作,而当修改这条记录的时候,则对gmtModified字段进行操作


新建一个类,实现MetaObjectHandler接口,重写接口方法,并在类名上加上@Component

@Component

public class MyHandler implements MetaObjectHandler {

@Override

    public void insertFill(MetaObject metaObject) {

System.out.println("添加插入时间");

this.setFieldValByName("gmtCreate",new Date(), metaObject);

this.setFieldValByName("gmtModified",new Date(), metaObject);

}

@Override

    public void updateFill(MetaObject metaObject) {

System.out.println("添加更新时间");

this.setFieldValByName("gmtModified",new Date(), metaObject);

}

}

对应实体类,则在gmtCreate与 gmtModified属性字段上加上@TableField(fill=FieldFill.INSERT)与@TableField(fill=FieldFill.INSERT_UPDATE)注解

@Data

@EqualsAndHashCode(callSuper =false)

public class UmsMember implements Serializable {

private static final long serialVersionUID =1L;

@TableId(value ="id", type =IdType.AUTO)

private Long id;

private String username;

private String password;

/**

    * 头像

    */

    private String icon;

/**

    * 邮箱

    */

    private String email;

/**

    * 昵称

    */

    private String nickName;

/**

    * 备注信息

    */

    private String note;

/**

    * 创建时间

    */

    @TableField(fill=FieldFill.INSERT)

private Date gmtCreate;

/**

    * 最后登录时间

    */

    private Date loginTime;

/**

    * 帐号启用状态:0->禁用;1->启用

    */

    private Integer status;

/**

    * 更新时间

    */

    @TableField(fill=FieldFill.INSERT_UPDATE)

private Date gmtModified;

}

这样配置以后,当对该表进行插入数据或者修改数据时候,就会对gmtCreate与 gmtModified字段进行相应操作了

上一篇 下一篇

猜你喜欢

热点阅读