系列文章目录
使用mybatisPlus实现某些字段的自动填充
前言
mybatisplus自动填充的字段
一、使用场景
在插入表数据时往往需要设置数据的创建时间和更新时间,每次创建实体都需要自己添加一个时间set给某一个字段,此时就可以使用mybatisplus自动填充字段的功能。
二、使用步骤
1.在实体中加注解
代码如下(示例):
package com.sangeng.dao; public class User { @TableField(fill = FieldFill.INSERT) private String createTime; @TableField(fill = FieldFill.UPDATE) private String updateTime; }
2.写一个控制器需要实现MetaObjectHandler并重写方法
代码如下(示例):
package com.sangeng.config; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import java.time.LocalDate; import java.time.LocalDateTime; public class MyMeateObjectMapper implements MetaObjectHandler { /** * 在插入操作时指定的字段自动填充 在需要自动填充的属性上加 @TableField(fill = FieldFill.INSERT) * 插入数据的时候就会自动填充创建时间 * * @param metaObject */ @Override public void insertFill(MetaObject metaObject) { // this.setFieldValByName("设置的字段", LocalDateTime.now()调用静态方法,metaObject方法对象); this.setFieldValByName("createTime", LocalDateTime.now(),metaObject); } /** * 在更新操作时指定的字段自动填充 在entity需要自动填充的属性上加 @TableField(fill = FieldFill.UPDATE) * 更新数据的时候就会自动填充创建时间 * * @param metaObject */ @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("updateTime", LocalDateTime.now(),metaObject); } }
该处使用的url网络请求的数据。
总结
内容如果对你有帮助,随手点个赞哦~