首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MyBatisPlus:@TableField中fill 属性用于指定插入或更新时自动填充

MyBatisPlus:@TableField中fill 属性用于指定插入或更新时自动填充

作者头像
知识浅谈
发布2023-12-28 08:58:07
发布2023-12-28 08:58:07
1.2K00
代码可运行
举报
文章被收录于专栏:分享学习分享学习
运行总次数:0
代码可运行

🤞MyBatisPlus:@TableField中fill 属性用于指定插入或更新时自动填充🤞

注解的 fill 属性用于指定插入或更新操作时自动填充字段的策略。该属性通常与 MetaObjectHandler 结合使用,实现自动填充数据库表中的字段值,例如创建时间、更新时间等。

🎈MetaObjectHandler配置

代码语言:javascript
代码运行次数:0
运行
复制
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    @Override
    public void insertFill(MetaObject metaObject) {
        // 使用 setFieldValByName 方法为字段赋值
        this.setFieldValByName("createTime", new Date(), metaObject);
        this.setFieldValByName("updateTime", new Date(), metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        // 使用 setFieldValByName 方法为字段赋值
        this.setFieldValByName("updateTime", new Date(), metaObject);
    }
}

重写了 insertFillupdateFill 方法,并在这些方法中使用 setFieldValByName 方法为字段赋值。在插入操作时,我们为 createTimeupdateTime 字段赋予当前时间的值;在更新操作时,我们为 updateTime 字段赋予当前时间的值。

🎈@TableField 的 fill 属性使用

代码语言:javascript
代码运行次数:0
运行
复制
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.MybatisDefaultMetaObjectHandler;

@TableName("user")
public class User {
    @TableId
    private Long id;
    
    private String name;
    
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
    
    // 省略其他字段和方法
}

定义了一个 User 实体类,并使用了 @TableField 注解标记了 createTime 和 updateTime 字段,并分别指定了它们的自动填充策略。createTime 字段在插入操作时自动填充,而 updateTime 字段在插入和更新操作时都会自动填充。

🍚总结

大功告成,撒花致谢🎆🎇🌟,关注我不迷路,带你起飞带你富。 Writted By 知识浅谈

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🎈MetaObjectHandler配置
  • 🎈@TableField 的 fill 属性使用
  • 🍚总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档