MP自动填充功能
项目中经常会遇到一些数据,每次都使用相同的方式填充,例如记录的创建时间,更新时间等。一般情况下要set, 我们可以使用MyBatis Plus的自动填充功能,完成这些字段的赋值工作:
先在数据库中添加create_time和update_time,类型为datetime
(1)实体上添加注解
@TableField(fill = FieldFill.INSERT)
private Date createTime; //@TableField(fill = FieldFill.UPDATE)
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime; }
(2)新建一个handler的类,实现MetaObjectHandler的接口
使用implement继承
在类上添加@Component,表示交给spring管理
添加两个方法,insertfill和updatefill
insertfill(使用MP执行添加操作,会自动执行操作)
updatetfill(使用MP执行更新操作,会自动执行操作)
this.setFieldValByName("createTime", new Date(),metaObject);
第一个是数据名,第二个是值,第三个是对象
(目前此版本在3.3以上无法使用!!)
3.3以上版本的写法:
metaObject.setValue("create_time", LocalDateTime.now());