关于mybatis-plus时间字段自动装配失效的原因

361 阅读1分钟

这是我的第一篇掘金博客,开启掘金写作之路。
使用mybatis-plus,时间字段没办法自动装配 对于这个问题网上看了很久才终于解决,废话不多说,直接看解决办法
首先是User实体类,User实体类,注意Date是Util包下的

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

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

handle实现类---MyMetaObjectHandler.java       ----注意也是用Util包下的Date

public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("createTime",new Date(),metaObject);
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
 
}

注册到容器里去

image.png

<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
    <!--set注入,把数据库连接池付给了dataSource属性-->
    <property name="dataSource" ref="myDataSource"/>
    <property name="globalConfig" ref="globalConfig"/>
    <property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
<!--组装自动装配的handler类-->
<bean id="globalConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig">
    <property name="metaObjectHandler">
        <bean class="priv.lan.util.MyMetaObjectHandler"></bean>
    </property>
</bean>

image.png
ok,可算解决了