MP的自动填充遇到的问题

nested exception is org.apache.ibatis.reflection.ReflectionException: Could not set property 'gmtModified' of 'class com.atguigu.eduservice.entity.EduTeacher' with value '2022-07-31T20:55:28.685' Cause: java.lang.IllegalArgumentException: argument type mismatch

配置handle的时候,传入new Data()

@Component //不要忘了把处理器加到IOC容器中
public class MyMetaObjectHandler implements MetaObjectHandler {
    //插入时填充策略
    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("gmtCreate", new Date(), metaObject);
        this.setFieldValByName("gmtModified", new Date(), metaObject);
    }
    //更新时填充策略
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("gmtModified", new Date(), metaObject);
    }
}

注意实体类的注解不要写错

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreate;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date gmtModified;

如果日期不是当时时区的话,连接数据库的时候加上时区

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/guli?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
posted @ 2022-07-31 20:59  NeverLateThanBetter  阅读(128)  评论(0)    收藏  举报