@TableField(fill = FieldFill.INSERT)这个注解的作用

news2024/12/24 11:35:09

在这里插入图片描述

@TableField 是 MyBatis-Plus提供的一个注解,用于标注实体类的属性与数据库表的字段之间的映射关系。当你在一个实体类的属性上使用 @TableField(fill =FieldFill.INSERT) 注解时,你告诉 MyBatis-Plus 在插入记录时自动填充这个字段。

FieldFill.INSERT 是一个枚举值,表示只在插入操作时进行字段的自动填充。

这是一个示例:

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.FieldFill;

@TableName("user")
public class User {
    private Long id;
    private String name;

    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
}

在上面的例子中,createTime 字段被标注为在插入操作时自动填充。为了实际实现这个自动填充,你需要定义一个实现了 MetaObjectHandler 接口的类,并在这个类中指定如何填充字段:

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    @Override
    public void insertFill(MetaObject metaObject) {
        this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now());
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        // 如果需要在更新时填充字段,可以在这里实现
    }
}

在这个例子中,insertFill 方法通过调用 strictInsertFill 方法来指定当插入操作发生时,createTime 字段应该被填充为当前时间。

这样,当你插入一个 User 对象时,无论你是否为 createTime 设置了值,它都会在插入数据库时被自动填充为当前时间。这样可以确保数据的一致性,并且简化了插入操作的代码。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker 网络管理及资源控制

目录 1 Docker 网络 1.1 Docker 网络实现原理 1.2 Docker 的网络模式 1.3 网络模式详解 1.3.1 host模式 1.3.2 container模式 1.3.3 none模式 1.3.4 bridge模式 1.3.5 自定义网络 1.4 创建自定义网络 2 资源控制 2.1 CPU 资源控制 2.2 对内存使用的限制 2.3 对磁盘…

如何在【逻辑回归】中优化控制正则化程度的超参数C

一.逻辑回归基本介绍 逻辑回归也称作logistic回归,是一种广义的线性回归分析模型,主要是用来解决二分类问题(也可以解决多分类问题)。通过训练集来训练模型,并在训练结束后对测试集进行分类。 通过激活函数&…

我该如何入门Python机器学习?

我是在研一的时候开始学习机器学习的。相对于题主来说,我更是一窍不通,Python都没有一点点基础。总结一下我在学习Python的过程,以及自己在学习机器学习过程中的用到的优质资源,也总结一下我的学习心得。 一、怎么学习Python&…

开放式耳机百元价位怎么选、公认最好的百元开放式耳机

开放式耳机采用挂耳式的佩戴方式,不需封闭耳道,这一创新设计允许我们欣赏音乐的同时保持对周围环境的感知,从而在户外运动、通勤或其他活动中提供更安全的体验。而且,在预算有限的情况下,我们可以在百元价位范围内找到…

JS中Map对象与object的区别

若想了解Map对象可以阅读本人这篇ES6初步了解Map Map对象与object有什么区别?让我为大家介绍一下吧! 共同点 二者都是以key-value的形式对数据进行存储 const obj {name:"zs",age:18}console.log(obj)let m new Map()m.set("name&quo…

shell算数运算指令、shell的if分支结构使用场景及相关代码

1.shell算数运算的指令 (( )) $[ ] let expr expr的字符串运算 例子: 2.shell的if分支结构 例子:

【C++】C++入门(上)--命名空间 输入输出 缺省参数 函数重载

目录 一 命名空间 1 命名空间的定义 2 命名空间的使用 二 C输入和输出 1 输出 2 输入 三 缺省参数 1 缺省参数概念 2 缺省参数分类 (1) 全缺省参数 (2)半缺省参数 四 函数重载 1 函数重载概念 2 分类 1 参数类型不同 2 参数个数不同 3 参数类型顺序不同 3 C为什…

Python中json的用法

python 中 json的用法 一、JSON 的介绍二、json和python的转换1) python 的字典或列表转换为json2) json转换为python的字典或列表 一、JSON 的介绍 Json本质上一个带有特定格式的字符串,json是一种在各个编程语言中流通的数据格式,负责不同…

Android底层摸索改BUG(二):Android系统移除预置APP

首先我先提供以下博主博文,对相关知识点可以提供理解、解决、思考的 Android 系统如何预装第三方应用以及常见问题汇集android Android.mk属性说明及预置系统app操作说明系Android 中去除系统原生apk的方法 取消预置APK方法一: 其实就是上面的链接3&a…

基于springboot实现休闲娱乐代理售票平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现休闲娱乐代理售票平台系统演示 摘要 网络的广泛应用给生活带来了十分的便利。所以把休闲娱乐代理售票管理与现在网络相结合,利用java技术建设休闲娱乐代理售票系统,实现休闲娱乐代理售票的信息化。则对于进一步提高休闲娱乐代理售票管…

1817_ChibiOS的RT线程

全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 1. 关于线程,有几个概念需要弄清楚:声明、生命循环、延迟、线程引用、线程队列、线程时间、优先级管理、调度。 2. 两个声明…

CS224W2.2——传统基于特征的方法(边层级特征)

在这篇中,我们介绍了链接预测的重要任务,以及如何提取链接级特征来更好地解决这类问题。这在我们需要预测缺失的边或预测将来会出现的边的情况下很有用。我们将讨论的链路级功能包括基于距离的功能,以及本地和全局邻域重叠。 文章目录 1. 边层…

1818_ChibiOS的计数信号量

全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 之前见过计数信号量,也是在FreeRTOS中看到的。也看到过这样的功能在驱动设计中的应用,但是当时没有理解这个使用的方式。 1.…

接口自动化测试 —— JMeter断言基本使用!

断言 断言:就是让程序判断预期结果和实际结果是否一致 注意:请求发起成功了,不代表着一定符合预期的结果。 JMeter中常用断言 响应断言 JSON断言 持续时间断言 响应断言 步骤::线程组——HTTP取样器——断言—…

File相关方法2

一.获取当前目录下所有一级文件名称 1.代码 package org.example;import java.io.File;public class day03 {public static void main(String[] args) {//获取当前目录下所有一级文件名称final File f1 new File("d:/temp");final String[] name f1.list();for (…

【博士每天一篇文献-算法】Gradient Episodic Memory for Continual Learning

阅读时间:2023-10-26 1 介绍 年份:2017 作者:David Lopez-Paz, Marc’Aurelio Ranzato 期刊:Part of Advances in Neural Information Processing Systems 30 (NIPS 2017) 引用量:2044 针对持续学习中灾难性遗忘问题…

怎么在电脑上多屏播放和实时视频输入,ProVideoPlayer 功能介绍

ProVideoPlayer for mac简称pvp2,是一款Mac系统的多屏播放软件,可将视频映射(包括播放和实时视频输入)并实时控制到一个或多个输出端,实现包括实时效果、调度、网络同步和内容管理等多种效果,provideoplaye…

添加IDEA到右键打开里面

打开注册表 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell 首先新建IDEA 将第一个值修改为下面这个,这个是右键时候的显示 新建一个字符串,重命名为Icon(一般好像是这个,可能无所谓),然…

leetcode:1154. 一年中的第几天(python3解法)

难度:简单 给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 示例 1: 输入:date "2019-01-09" 输出:9 解释:给定日期是2019年的第九天。 示例…

分享一波操作系统、谢希仁版本计算机网络学习笔记【思维导图】

操作系统复习笔记 - 幕布第一章引论第二章处理器管理进程同步与通信https://www.mubu.com/doc/58qrnf20ndg 大纲 - 幕布物理层数据链路层网络层https://www.mubu.com/doc/1eo9_8TyUdg计算机网络-语雀https://www.yuque.com/yuqueyonghu6nc56e/dgg1dl/wx34gx72xpgmt598?singleD…