我的编程空间,编程开发者的网络收藏夹
学习永远不晚

metaObjecthandler 的基本理解与使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

metaObjecthandler 的基本理解与使用

metaObjecthandler:元数据对象处理器

MetaObjectHandler接口是mybatisPlus为我们提供的的一个扩展接口,我们可以利用这个接口在我们插入或者更新数据的时候,为一些字段指定默认值。

使用场景:公共字段填充等,如updateTime、createTime、createUser、updateUser等公共字段多的填充。

基本使用:

实体的公共字段使用@TableField注解;

1)@TebleField(fill = FieldFill.INSERT):表示此字段只在插入/新增操作时更新数据

2)@TebleField(fill = FieldFill.INSERT_UPDATE):表示此字段在修改和新增操作时都更新数据;

3)@TebleField(fill = FieldFill.UPDATE):表示此字段只在修改操作时都更新数据;

@Datapublic class Employee implements Serializable {    private static final long serialVersionUID = 1L;    private Long id;    private String username;    @TableField(fill = FieldFill.INSERT)    private LocalDateTime createTime;    @TableField(fill = FieldFill.INSERT_UPDATE)    private LocalDateTime updateTime;    @TableField(fill = FieldFill.INSERT)    private Long createUser;    @TableField(fill = FieldFill.INSERT_UPDATE)    private Long updateUser;}

自定义元对象处理器类,实现metaObjecthandler接口,重写insertFill、updateFill方法;

1)在每次执行插入和修改操作时,会执行insertFill,updateFill方法;

2)setValue(String name,Object value) : 设置公共字段填充值,第一个参数值name与实体字段要相同;

@Slf4j@Componentpublic class MyMetaObjecthandler implements MetaObjectHandler {        @Override    public void insertFill(MetaObject metaObject) {        log.info("公共字段自动填充【insert】");        log.info(metaObject.toString());        metaObject.setValue("createTime", LocalDateTime.now());        metaObject.setValue("updateTime", LocalDateTime.now());        metaObject.setValue("createUser", new Long(1));        metaObject.setValue("updateUser", new Long(1));    }    @Override    public void updateFill(MetaObject metaObject) {        log.info("公共字段自动填充【update】");        log.info(metaObject.toString());        metaObject.setValue("updateTime", LocalDateTime.now());        metaObject.setValue("updateUser", new Long(1));    }}

来源地址:https://blog.csdn.net/fengzheng1232/article/details/130223629

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

metaObjecthandler 的基本理解与使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue3响应式Proxy与Reflect的理解及基本使用实例详解

这篇文章主要为大家介绍了vue3响应式Proxy与Reflect的理解及基本使用实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

Python中ttkbootstrap的介绍与基本使用

ttkbootstrap是一个基于 tkinter 的界面美化库,使用这个工具可以开发出类似前端bootstrap风格的tkinter桌面程序,下面这篇文章主要给大家介绍了关于Python中ttkbootstrap的介绍与基本使用的相关资料,需要的朋友可以参考下
2023-01-15

gochan基本使用详解

本文主要介绍了gochan基本使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-18

Apache POI的基本使用详解

目录基本介绍入门测试(从Excel文件读取数据)第一步:导入maven坐标第二步:创建Excel文件第三步:写测试代码代码说明及扩展入门测试(向Excel文件写入数据)基本介绍 POIpache POI是用java编写的免费开源的跨平台的J
2022-06-04

Android注解ButterKnife的基本使用

ButterKnife的最新版本是8.4.0。 首先,需要导入ButterKnife的jar包。 在AndroidStudio中,File->Project Structure->Dependencies->Library dependen
2022-06-06

解密ASP基础:理解ASP的基本原理

ASP作为一种强大的编程语言,在网站开发中扮演着重要的角色。本文将深入探讨ASP的基本原理,以便读者能够更好地理解和使用ASP。
解密ASP基础:理解ASP的基本原理
2024-02-05

C++中Stack(栈)的使用方法与基本操作详解

Stack是一种常见的数据结构,常常被用来解决递归问题、括号匹配问题、函数调用栈等等。本文将介绍C++中stack的使用方法及基本操作,需要的可以参考一下
2023-05-19

Nodejs中的Buffer类的创建与基本使用

这篇文章主要为大家介绍了Nodejs中Buffer的使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

编程热搜

目录