当前位置: 首页 > news >正文

mybatisplus实现自动填充 时间

mybatisplus实现自动填充功能——自动填充时间

数据库表中的字段

  • 创建时间 (createTime)
  • 更新时间 (updateTime)

每次 增删改查的时候,需要通过对Entity的字段(createTime,updateTime)进行set设置,但是,每次增删改 都要set设置比较麻烦。

  • 使用自动填充功能,就不用我们自己set了。

1、在实体类Entity中 添加注解

  • @TableField(fill = FieldFill.INSERT) //插入时自动填充
  • @TableField(fill = FieldFill.INSERT_UPDATE) // 插入更新时 自动填充

在这里插入图片描述
2、配置自动填充 拦截器
在这里插入图片描述
在这里插入图片描述

3、数据库表中 创建时间,更新时间,创建人,更新人 字段名。
在这里插入图片描述

4、自动填充 拦截器
MyMetaObjectHandler

package com.sangeng.handler.mybatisplus;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.sangeng.utils.SecurityUtils;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;import java.util.Date;
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {//实现MetaObjectHandler//配置自动填充 拦截器//insert操作时填充方法@Overridepublic void insertFill(MetaObject metaObject) {Long userId = null;
//        try {userId = SecurityUtils.getUserId(); //从token中拿到userid,自动填充
//        } catch (Exception e) {     e.printStackTrace();
//        注册的时候,不能获取当前userid,所以userid设置为-1
//           userId = -1L;//表示是自己创建
//        }this.setFieldValByName("createTime", new Date(), metaObject);   //创建时间this.setFieldValByName("createBy",userId , metaObject);         //创建人this.setFieldValByName("updateTime", new Date(), metaObject);   //更新时间this.setFieldValByName("updateBy", userId, metaObject);         //更新人}//update操作时填充方法@Overridepublic void updateFill(MetaObject metaObject) { //填充 更新时间this.setFieldValByName("updateTime", new Date(), metaObject);
//        this.setFieldValByName(" ", SecurityUtils.getUserId(), metaObject);}
}

实体类

    @TableField(fill = FieldFill.INSERT) //插入时 自动添加创建人private Long createBy;@TableField(fill = FieldFill.INSERT) //插入时 自动添加 创建时间private Date createTime;@TableField(fill = FieldFill.INSERT_UPDATE) //插入更新时 自动添加 更新人private Long updateBy;@TableField(fill = FieldFill.INSERT_UPDATE) //插入更新时 自动添加 更新时间private Date updateTime;

相关文章:

mybatisplus实现自动填充 时间

mybatisplus实现自动填充功能——自动填充时间 数据库表中的字段 创建时间 (createTime)更新时间 (updateTime) 每次 增删改查的时候,需要通过对Entity的字段(createTime,updateTime)进行set设置,但是,每…...

P5732 【深基5.习7】杨辉三角

题目描述 给出 n ( n ≤ 20 ) n(n\le20) n(n≤20),输出杨辉三角的前 n n n 行。 如果你不知道什么是杨辉三角,可以观察样例找找规律。 输入格式 输出格式 样例 #1 样例输入 #1 6样例输出 #1 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 11.题目…...

ubuntu调整路由顺序

Ubuntu系统跳转路由顺序 1、安装ifmetric sudo apt install ifmetric2、查看路由 route -n3、把Iface下面的eth1调到第一位 sudo ifmetric eth1 0命令中eth1是网卡的名称,更改网卡eth1的跃点数(metric值)为0(数值越小&#xf…...

集成学习算法是什么?如何理解集成学习?

什么是集成学习? 集成学习通过建立几个模型来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。 机器学习的两个核心任务 任务一&#xff1…...

npm配置最新淘宝镜像

目录 1、设置淘宝镜像2、查看源 1、设置淘宝镜像 默认的官方镜像:https://registry.npmjs.org,切换国内淘宝镜像,访问下载更快。 npm config set registry https://registry.npmmirror.com/其他,如pnpm: pnpm confi…...

网络基础1

文章目录 网络基础11. 计算机网络背景1.1 网路发展1.2 认识 "协议" 2. 网络协议初识2.1 协议分层2.2 OSI七层模型2.3 TCP/IP五层(或四层)模型协议栈与OS的关系 3. 网络传输基本流程3.1 同一个局域网两台主机通信3.2 同一个路由器的两个子网通信 4. 网络中的地址管理4…...

2023年电赛---运动目标控制与自动追踪系统(E题)发挥题思路

前言 &#xff08;1&#xff09;因为博客编辑字数超过1W字会导致MD编辑器非常卡顿。所以我将发挥题和基础题的思路拆开了。 &#xff08;2&#xff09;更新日记&#xff1a; <1>2023年8月4日&#xff0c;9点20分。分离发挥题思路和基础题思路&#xff0c;增加了博主Huiye…...

61 # http 数据处理

node 中的核心模块 http 可以快速的创建一个 web 服务 const http require("http"); const url require("url");// req > request 客户端的所有信息 // res > respone 可以给客户端写入数据 const server http.createServer();server.on("r…...

模版下载和Excel文件导入

模版下载 模版下载 模版下载 /*** 生成模版** param* return AppResponse*/public AppResponse ExcelFile() throws IOException {// 创建一个新的Excel工作簿Workbook workbook new XSSFWorkbook();// 创建一个工作表Sheet sheet workbook.createSheet("页面拨测模板&…...

Datax 数据同步-使用总结(一)

1&#xff0c;实时同步&#xff1f; datax 通常做离线数据同步使用。 目前能想到的方案 利用 linux 的定时任务时间戳的方式做增量同步。 2&#xff0c;同步速度快不快&#xff1f; 单表同步速度还是挺快的 但是如果遇到复杂的 sql 查询&#xff0c;其同步效率&#xff0c…...

代码随想录算法训练营第九天| 232.用栈实现队列,225.用队列实现栈

232. 用栈实现队列 232.用栈实现队列 这里用两个栈来模拟队列以此实现队列的先进先出&#xff0c; 注意点 1.dump()方法将stackin的元素移入到stackout的操作&#xff0c;是要将stackin的全部元素放到stackout中&#xff0c;所以用while循环判断 stackIn是否为空 2.新建栈…...

求解二次方程

描述 编写一个程序&#xff0c;实现求解形如ax^2 bx c 0的二次方程的根。要求使用三个函数分别计算b^2 - 4ac大于0、等于0和小于0时的根&#xff0c;并在主函数中输出结果。 输入 输入三个浮点数a、b和c&#xff0c;分别表示二次方程的系数。 输出 输出二次方程的根&am…...

【hive 运维】hive注释/数据支持中文

文章目录 一. 设置mysql中的hive库二. hive-site.xml 设置三. 测试 hive支持中文需要关注两个方面&#xff1a; 设置hive 元数据库中的一些表设置hive-site.xml. 一. 设置mysql中的hive库 use hivedb; alter table TBLS modify column TBL_NAME varchar(1000) character se…...

架构,性能和游戏 《游戏编程模式》学习笔记

开新坑&#xff0c;准备把《游戏编程模式》这本书啃完。这是一本讲设计模式的书&#xff0c;针对游戏开发而作&#xff0c;写得很好。 以下是读书笔记&#xff0c;文末有原文链接 每个程序都有一定的软件架构&#xff0c;哪怕是全塞到main里也是一种架构好的架构可以把代码写成…...

Spring Bean的生命周期

文章目录 Spring Bean的生命周期加载Bean对象创建Bean对象构造对象填充属性初始化实例注册销毁 销毁 Spring Bean的生命周期 Spring Bean的生命周期就是指Bean对象从创建到销毁的过程&#xff0c;大体可以分为&#xff1a;实例化、属性赋值、初始化、使用、销毁。 加载Bean对象…...

基于量子同态的安全多方量子求和加密

摘要安全多方计算在经典密码学中一直扮演着重要的角色。量子同态加密(QHE)可以在不解密的情况下对加密数据进行计算。目前&#xff0c;大多数协议使用半诚实的第三方(TP)来保护参与者的秘密。我们使用量子同态加密方案代替TP来保护各方的隐私。在量子同态加密的基础上&#xff…...

前端自动化测试:确保质量和稳定性的关键步骤

文章目录 测试金字塔与前端测试层级1. 单元测试&#xff08;Unit Testing&#xff09;2. 组件测试&#xff08;Component Testing&#xff09;3. 集成测试&#xff08;Integration Testing&#xff09;4. 端到端测试&#xff08;End-to-End Testing&#xff09; 单元测试、集成…...

《Ansible自动化工具篇:Centos操作系统基于ansible工具一键远程离线部署之K8S1.24.12二进制版集群》

一、部署背景 由于业务系统的特殊性&#xff0c;我们需要针对不同的客户环境部署二进制版K8S集群&#xff0c;由于大都数用户都是专网环境&#xff0c;无法使用外网&#xff0c;为了更便捷&#xff0c;高效的部署&#xff0c;针对业务系统的特性&#xff0c;我这边编写了 基于a…...

Java实现十大经典排序算法之快速排序

0 算法简介 快速排序是一种高效率排序算法&#xff0c;它是对冒泡排序的一种改进&#xff0c;它也是一种不稳定排序算法。快速排序的核心是比较、交换和递归。 在待排序数组中指定一个基准元素pivot&#xff08;一般选取数组首元素&#xff09;&#xff0c;使得数组排序之后基…...

【0803作业】创建两个线程:其中一个线程拷贝图片的前半部分,另一个线程拷贝后半部分(4种方法)

方法一&#xff1a;使用pthread_create、pthread_exit、pthread_join函数【两个线程不共用同一份资源】 先在主函数创建并清空拷贝的目标文件&#xff0c;再创建两个线程&#xff0c;在两个线程内部同时打开要读取的文件以及要拷贝的目标文件&#xff08;两个线程不共用同一份资…...

终极指南:BOTW-Save-Editor-GUI 快速修改塞尔达传说旷野之息存档

终极指南&#xff1a;BOTW-Save-Editor-GUI 快速修改塞尔达传说旷野之息存档 【免费下载链接】BOTW-Save-Editor-GUI A Work in Progress Save Editor for BOTW 项目地址: https://gitcode.com/gh_mirrors/bo/BOTW-Save-Editor-GUI BOTW-Save-Editor-GUI 是一款专为《塞…...

造相Z-Image文生图模型v2避坑指南:显存优化与参数设置技巧

造相Z-Image文生图模型v2避坑指南&#xff1a;显存优化与参数设置技巧 1. 为什么需要关注显存优化 在本地部署造相Z-Image文生图模型v2时&#xff0c;显存管理是决定成败的关键因素。这个拥有20亿参数的模型虽然经过深度优化&#xff0c;但在实际使用中仍然可能遇到显存不足的…...

终极虚拟控制器驱动:如何用ViGEmBus在5分钟内解决游戏兼容难题?

终极虚拟控制器驱动&#xff1a;如何用ViGEmBus在5分钟内解决游戏兼容难题&#xff1f; 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾因为心爱的游…...

避坑指南:CellProfiler处理大批量病理图像时,如何优化流程避免卡死和结果混乱?

CellProfiler病理图像批量处理实战&#xff1a;从性能优化到结果管理的全流程指南 病理图像分析正从人工判读转向自动化量化&#xff0c;而CellProfiler作为开源工具链中的瑞士军刀&#xff0c;在处理大批量高分辨率图像时常常面临性能瓶颈。上周处理完3000张乳腺癌组织切片后&…...

告别卡顿!ImageGlass:轻快如风的免费图片查看器

告别卡顿&#xff01;ImageGlass&#xff1a;轻快如风的免费图片查看器 【免费下载链接】ImageGlass &#x1f3de; A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 你是否也曾被Windows自带图片查看器的缓慢加载速度折…...

如何让单人游戏秒变多人同屏?Nucleus Co-Op带你解锁全新游戏体验

如何让单人游戏秒变多人同屏&#xff1f;Nucleus Co-Op带你解锁全新游戏体验 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 你是否曾经遇到过这样…...

微服务架构下的API设计:RESTful与GraphQL的抉择

微服务架构下的API设计考量微服务架构中&#xff0c;API设计直接影响系统的灵活性、性能和维护成本。RESTful和GraphQL是两种主流方案&#xff0c;各有适用场景。RESTful API的特点RESTful基于HTTP协议&#xff0c;资源导向&#xff0c;通过标准方法&#xff08;GET/POST/PUT/D…...

告别臃肿!Dell G15开源散热控制神器tcc-g15完全指南

告别臃肿&#xff01;Dell G15开源散热控制神器tcc-g15完全指南 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 你是否正在为Dell G15笔记本的散热问题烦恼&am…...

忍者像素绘卷PyCharm开发环境搭建与调试技巧详解

忍者像素绘卷PyCharm开发环境搭建与调试技巧详解 1. 前言&#xff1a;为什么选择PyCharm开发忍者像素绘卷 如果你正在开发忍者像素绘卷&#xff1a;天界画坊相关的Python应用&#xff0c;PyCharm无疑是最合适的开发工具之一。作为一款专业的Python IDE&#xff0c;PyCharm提供…...

Llama-3.2V-11B-cot 效果惊艳展示:复杂图表理解与数据洞察报告生成

Llama-3.2V-11B-cot 效果惊艳展示&#xff1a;复杂图表理解与数据洞察报告生成 最近在尝试各种多模态模型时&#xff0c;我遇到了一个让我眼前一亮的家伙——Llama-3.2V-11B-cot。这个名字听起来有点复杂&#xff0c;但它的能力却简单直接&#xff1a;它不仅能“看”懂图片&am…...