• mybatisplus自动填充踩坑


    学习使用mybatis-plus的自动填充功能,对create_time和update_time做一个自动填充,期间碰到了一些问题,记录一下问题和相关代码

    1. 在实体类字段上增加注解@TableField(fill = FieldFill.INSERT)或者@TableField(fill = FieldFill.UPDATE)

    User

    1. 添加MyMetaObjectHandler类(名字可自定义,注意要实现MetaObjectHandler类)

      这块有个坑,要注意字段类型,mybatis-plus在时间上默认用的是LocalDateTime类,测试的时候没注意,用了Date类,结果导致值一直添加不进去,再提一嘴,strictInsertFill() 方法的第二个参数是类下的字段名,不是数据库中的字段名

    MyMetaObjectHandler

    复制代码或者查看详情可移步至mybatis-plus官网  mybatis-plus 自动填充功能

    或者直接复制如下

    import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
    import lombok.extern.slf4j.Slf4j;
    import org.apache.ibatis.reflection.MetaObject;
    import org.springframework.stereotype.Component;
    
    import java.time.LocalDateTime;
    
    @Slf4j
    @Component
    public class MyMetaObjectHandler implements MetaObjectHandler {
    
        @Override
        public void insertFill(MetaObject metaObject) {
            log.info("start insert fill ....");
            this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐使用)
        }
    
        @Override
        public void updateFill(MetaObject metaObject) {
            log.info("start update fill ....");
            this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐)
        }
    
    }
    

    因为刚好碰到LocalDateTime这个类,就面向百度学习了一下,找到一篇不错的博客,推荐一下  JDK8的LocalDateTime用法

    话说,LocalDateTime类在JDK8中就有了,现在JDK15已经出来一段时间了(○´・д・)ノ,而咱现在才知道有这个类,看来得多花时间巩固基础和不断学习了


    注:由于此篇文章核心只是记录一下问题的解决方案,并不会从建库建表开始记录,需要从零搭建测试可移步至  mybatis-plus官网

     
     
  • 相关阅读:
    day04--项目前端相关基础知识(二)
    day03--项目前端相关基础知识
    day02--环境搭建与讲师管理接口开发
    module3_PC端静态页面项目初始化
    module3_03_写静态页面需要注意的点
    module3_02_静态页面项目初始化
    module3_01_版心与页面排版布局
    学习上遇到的坑
    flex布局相关
    background中url后面按的数意思
  • 原文地址:https://www.cnblogs.com/exmyth/p/15631504.html
Copyright © 2020-2023  润新知