您现在的位置是:首页 > java技术交流java技术交流

springboot mybatis自动完成时间插入更新

上善若水2020-12-14 16:39:16【java技术交流】 4962人已围观

简介springboot mybatis自动完成时间插入更新,基本涨表里都会有create_time和update_time时间字段,可以采用自动完成机制为我们手动添加创建时间和更新时间,自己在写的时候也

springboot mybatis自动完成时间插入更新,基本涨表里都会有create_time和update_time时间字段,可以采用自动完成机制为我们手动添加创建时间和更新时间,自己在写的时候也遇到不生效的情况,可能是配置不熟悉的问题.
mabatisplus官方文档
官方的案例不是特别清晰.
现在在完成的是在插入字段时自动插入create_timeupdate_time,更新是自动更新update_time

package com.springboot.blog.config;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    @Override
    public void insertFill(MetaObject metaObject) {
        this.strictInsertFill(metaObject, "createTime", LocalDateTime::now, LocalDateTime.class); // 起始版本 3.3.3(推荐)
        this.strictInsertFill(metaObject, "updateTime", LocalDateTime::now, LocalDateTime.class); // 起始版本 3.3.3(推荐)
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        this.strictUpdateFill(metaObject, "updateTime", LocalDateTime::now, LocalDateTime.class); // 起始版本 3.3.3(推荐)
    }
}

然后在实体中添加注解

  /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

完成~

Tags: mybatis

很赞哦! (5)

文章评论

站点信息

  • 建站时间:2019-10-24
  • 网站程序:Thinkphp6 Layui
  • 文章统计247篇文章
  • 标签管理标签云
  • 统计数据cnzz统计
  • 微信公众号:扫描二维码,关注我们