MyBatisPlus中MetaObjectHandler的使用

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


起因是公司一个同事接到需求,让把一条数据录入时createTime字段,设置为指定的字段,但是他走断点发现执行MyBatisPlus的insert之前值是对的,但是insert之后就改成当前时间了。

开始我认为是数据库字段设置为了根据当前时间录入值,即默认为当前时间戳,但是一想不对,默认是指没有设置值,这里已经设置了为什么还是不对?

后来发现,系统代码中设置了MetaObjectHandler处理,特殊处理了createTime这个字段。

MetaObjectHandler:元数据对象处理器

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

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

使用方法

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

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

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

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

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

示例实体:

package com.example.springboot.entity;
 
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
 
import java.util

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/466401.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DM数据库(docker)

docker安装 安装必要的系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2 配置阿里云Docker Yum源: yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 更新yum缓存 yum makecache fast 安装docker-CE: y…

抛弃Superhuman?这些替代方案让你眼前一亮!

Superhuman是一个极好的人工智能工具在电子邮件助理领域。根据SimilarWeb的最新统计,它在全球网站排名中排名第21980位,月访问量为1751798。然而市场上还有许多其他优秀的选择。为了帮助您找到最适合您需求的解决方案,我们为您精心挑选了10种…

海淘注意事项,海淘虚拟卡

2024年海淘visa信用卡,点击获取卡片 海淘注意事项 海淘(跨境购物)可以让人们在国外购买到更多种类的商品,但是也需要注意一些事项,以确保购物的顺利进行和商品的质量。以下是一些建议: 海淘网站的选择&…

零代码编程:用kimichat合并一个文件夹下的多个文件

一个文件夹里面有很多个srt字幕文件,如何借助kimichat来自动批量合并呢? 在kimichat对话框中输入提示词: 你是一个Python编程专家,完成如下的编程任务: 这个文件夹:D:\downloads\life.on.our.planet.(202…

C++中的using关键字

1. 类型别名 using关键字可以用来为类型创建一个新的名字,这在代码的可读性和维护性方面非常有帮助。 // 定义类型别名 using IntPtr int*;// 使用 int value 5; IntPtr ptr &value;2. 命名空间别名 如果你正在使用一个非常长的命名空间,可以使…

如何在MT4平台查询自己的账户杠杆?

如何在MT4平台查询自己的账户杠杆?MT4中直接没有这个选项,犟嘴的投资者千万不要犟嘴,说可以根据保证金水平计算。其实在交易账户中有3中方法可以查询自己的账户,投资者可以在这里开立一个MT4帐户,并将其附加到具有登录名和密码的…

Jenkins-pipeline流水线构建完钉钉通知

添加钉钉机器人 在钉钉群设置里添加机器人拿出Webhook地址,设置关键词 Jenkins安装钉钉插件 Dashboard > 系统管理 > 插件管理,搜索构建通知,直接搜索Ding Talk也行 安装DingTalk插件,重启Jenkins 来到Dashboard > 系…

想要了解更多商品信息?淘宝天猫详情接口API助你一键搞定!

想要了解更多商品信息?淘宝天猫详情接口API是你的理想选择!作为唯一提供官方商品数据的接口,它能够帮助你快速获取商品的多种详细信息,联讯数据让你在购物过程中做出更明智的决策。 简介:淘宝天猫详情接口API的功能及…

普通人搞副业,空闲时间做,月入5w+

我是电商珠珠 大家会发现,朱砂越来越火,不仅是因为它好看,而且商家对外扬言可以招财。现在的人对爱情不屑一顾,财神殿里可以长跪不起,人人都想求财,想要在空余时间搞副业赚大钱,但做什么还没有…

客服知识库到底好用在哪?企业真的需要吗?

在企业运营的众多环节中,客户服务无疑是至关重要的一环。然而,面对如洪水般涌入的客户问题和查询,你的客服团队是否能够做到快速应对,准确解答?这时,一个客服知识库就显得尤为重要。那么,客服知…

Java项目实战记录:雷达数据渲染

目录 Java项目实战记录:雷达数据渲染业务背景代码逻辑数据结构颜色渲染MapContent加载数据并输出截图 完整代码GenerateMapImage地图渲染工具测试代码 渲染效果 Java项目实战记录:雷达数据渲染 业务背景 我之前已经成功使用Java语言解析了C处理的雷达数…

Linux编程4.8 网络编程-建立连接

1、服务器端 #include <sys/types.h> #include <sys/socket.h>int listen(int sockfd, int backlog);返回&#xff1a;成功返回0&#xff0c;出错返回-1。参数&#xff1a;sockfd:套接字的文件描述符backlog:定义了sockfd的挂起连接队列可能增长的最大长度。…

鸿蒙4.0ArkUI快速入门(一)应用模型

ArkUI篇 应用模型Stage模型FA模型模型对比 应用模型 应用模型是HarmonyOS为开发者提供的应用程序所需能力的抽象提炼&#xff0c;它提供了应用程序必备的组件和运行机制。 HarmonyOS先后提供了两种应用模型&#xff1a; FA&#xff08;Feature Ability&#xff09;模型&…

Vue多文件学习项目综合案例——小兔鲜,黑马vue教程

文章目录 一、项目截图二、主要知识点三、Main.js四、App.vue五、componentsXtxBanner.vueXtxFooter.vueXtxHeaderNav.vueXtxHotBrand.vueXtxNewGoods.vueXtxShortCut.vueXtxTopic.vue 六、stylesbase.csscommon.css 一、项目截图 二、主要知识点 把静态页面拆分成一个个vue组…

Axure软件安装汉化教程

Axure软件安装汉化教程 一、准备教程 下载Axure的软件&#xff0c;并解压打开 二、安装过程 双击Axure软件的运行程序&#xff0c;修改安装程序的路径&#xff0c;默认下一步即可。 三、软件汉化 打开Axure的软件安装路径&#xff0c;将汉化包复制粘贴进入到Axure RP 9安装…

Web入门

一Spring简单介绍&#xff1a; Spring Boot 是基于Spring的但是&#xff0c;Spring更为简单高效。 1.2Spring Boot快速入门&#xff1a; 二HTTP协议&#xff1a; 2.1HTTP协议概述 2.2请求协议 <!DOCTYPE html> <html lang"en"> <head><meta ch…

Linux部署DockerUI结合内网穿透实现远程管理本地Docker容器

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

文献速递:深度学习乳腺癌诊断---使用深度学习改善乳腺癌诊断的MRI技术

Title 题目 Improving breast cancer diagnostics with deep learning for MRI 使用深度学习改善乳腺癌诊断的MRI技术 01 文献速递介绍 乳腺磁共振成像&#xff08;MRI&#xff09;是一种高度敏感的检测乳腺癌的方式&#xff0c;报道的敏感性超过80%。传统上&#xff0c;其…

第六届国际大数据工程大会(BDE 2024)即将召开!

2024年第六届国际大数据工程大会(BDE 2024)将于2024年7月24-26日在中国西宁举行。本次会议由青海民族大学和中国矿业大学联合主办。BDE 2024旨在为大数据工程国际等领域的全球学术界、产业界和研究开发组织的研究人员提供一个交流平台&#xff0c;欢迎大数据领域的专家学者踊跃…

设计模式在业务中的实践

一、前言 随着美团外卖业务的不断迭代与发展&#xff0c;外卖用户数量也在高速地增长。在这个过程中&#xff0c;外卖营销发挥了“中流砥柱”的作用&#xff0c;因为用户的快速增长离不开高效的营销策略。而由于市场环境和业务环境的多变&#xff0c;营销策略往往是复杂多变的…