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(数值越小…...
集成学习算法是什么?如何理解集成学习?
什么是集成学习? 集成学习通过建立几个模型来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。 机器学习的两个核心任务 任务一࿱…...
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题)发挥题思路
前言 (1)因为博客编辑字数超过1W字会导致MD编辑器非常卡顿。所以我将发挥题和基础题的思路拆开了。 (2)更新日记: <1>2023年8月4日,9点20分。分离发挥题思路和基础题思路,增加了博主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,实时同步? datax 通常做离线数据同步使用。 目前能想到的方案 利用 linux 的定时任务时间戳的方式做增量同步。 2,同步速度快不快? 单表同步速度还是挺快的 但是如果遇到复杂的 sql 查询,其同步效率,…...
代码随想录算法训练营第九天| 232.用栈实现队列,225.用队列实现栈
232. 用栈实现队列 232.用栈实现队列 这里用两个栈来模拟队列以此实现队列的先进先出, 注意点 1.dump()方法将stackin的元素移入到stackout的操作,是要将stackin的全部元素放到stackout中,所以用while循环判断 stackIn是否为空 2.新建栈…...
求解二次方程
描述 编写一个程序,实现求解形如ax^2 bx c 0的二次方程的根。要求使用三个函数分别计算b^2 - 4ac大于0、等于0和小于0时的根,并在主函数中输出结果。 输入 输入三个浮点数a、b和c,分别表示二次方程的系数。 输出 输出二次方程的根&am…...
【hive 运维】hive注释/数据支持中文
文章目录 一. 设置mysql中的hive库二. hive-site.xml 设置三. 测试 hive支持中文需要关注两个方面: 设置hive 元数据库中的一些表设置hive-site.xml. 一. 设置mysql中的hive库 use hivedb; alter table TBLS modify column TBL_NAME varchar(1000) character se…...
架构,性能和游戏 《游戏编程模式》学习笔记
开新坑,准备把《游戏编程模式》这本书啃完。这是一本讲设计模式的书,针对游戏开发而作,写得很好。 以下是读书笔记,文末有原文链接 每个程序都有一定的软件架构,哪怕是全塞到main里也是一种架构好的架构可以把代码写成…...
Spring Bean的生命周期
文章目录 Spring Bean的生命周期加载Bean对象创建Bean对象构造对象填充属性初始化实例注册销毁 销毁 Spring Bean的生命周期 Spring Bean的生命周期就是指Bean对象从创建到销毁的过程,大体可以分为:实例化、属性赋值、初始化、使用、销毁。 加载Bean对象…...
基于量子同态的安全多方量子求和加密
摘要安全多方计算在经典密码学中一直扮演着重要的角色。量子同态加密(QHE)可以在不解密的情况下对加密数据进行计算。目前,大多数协议使用半诚实的第三方(TP)来保护参与者的秘密。我们使用量子同态加密方案代替TP来保护各方的隐私。在量子同态加密的基础上ÿ…...
前端自动化测试:确保质量和稳定性的关键步骤
文章目录 测试金字塔与前端测试层级1. 单元测试(Unit Testing)2. 组件测试(Component Testing)3. 集成测试(Integration Testing)4. 端到端测试(End-to-End Testing) 单元测试、集成…...
《Ansible自动化工具篇:Centos操作系统基于ansible工具一键远程离线部署之K8S1.24.12二进制版集群》
一、部署背景 由于业务系统的特殊性,我们需要针对不同的客户环境部署二进制版K8S集群,由于大都数用户都是专网环境,无法使用外网,为了更便捷,高效的部署,针对业务系统的特性,我这边编写了 基于a…...
Java实现十大经典排序算法之快速排序
0 算法简介 快速排序是一种高效率排序算法,它是对冒泡排序的一种改进,它也是一种不稳定排序算法。快速排序的核心是比较、交换和递归。 在待排序数组中指定一个基准元素pivot(一般选取数组首元素),使得数组排序之后基…...
【0803作业】创建两个线程:其中一个线程拷贝图片的前半部分,另一个线程拷贝后半部分(4种方法)
方法一:使用pthread_create、pthread_exit、pthread_join函数【两个线程不共用同一份资源】 先在主函数创建并清空拷贝的目标文件,再创建两个线程,在两个线程内部同时打开要读取的文件以及要拷贝的目标文件(两个线程不共用同一份资…...
终极指南:BOTW-Save-Editor-GUI 快速修改塞尔达传说旷野之息存档
终极指南: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避坑指南:显存优化与参数设置技巧 1. 为什么需要关注显存优化 在本地部署造相Z-Image文生图模型v2时,显存管理是决定成败的关键因素。这个拥有20亿参数的模型虽然经过深度优化,但在实际使用中仍然可能遇到显存不足的…...
终极虚拟控制器驱动:如何用ViGEmBus在5分钟内解决游戏兼容难题?
终极虚拟控制器驱动:如何用ViGEmBus在5分钟内解决游戏兼容难题? 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾因为心爱的游…...
避坑指南:CellProfiler处理大批量病理图像时,如何优化流程避免卡死和结果混乱?
CellProfiler病理图像批量处理实战:从性能优化到结果管理的全流程指南 病理图像分析正从人工判读转向自动化量化,而CellProfiler作为开源工具链中的瑞士军刀,在处理大批量高分辨率图像时常常面临性能瓶颈。上周处理完3000张乳腺癌组织切片后&…...
告别卡顿!ImageGlass:轻快如风的免费图片查看器
告别卡顿!ImageGlass:轻快如风的免费图片查看器 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 你是否也曾被Windows自带图片查看器的缓慢加载速度折…...
如何让单人游戏秒变多人同屏?Nucleus Co-Op带你解锁全新游戏体验
如何让单人游戏秒变多人同屏?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设计考量微服务架构中,API设计直接影响系统的灵活性、性能和维护成本。RESTful和GraphQL是两种主流方案,各有适用场景。RESTful API的特点RESTful基于HTTP协议,资源导向,通过标准方法(GET/POST/PUT/D…...
告别臃肿!Dell G15开源散热控制神器tcc-g15完全指南
告别臃肿!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. 前言:为什么选择PyCharm开发忍者像素绘卷 如果你正在开发忍者像素绘卷:天界画坊相关的Python应用,PyCharm无疑是最合适的开发工具之一。作为一款专业的Python IDE,PyCharm提供…...
Llama-3.2V-11B-cot 效果惊艳展示:复杂图表理解与数据洞察报告生成
Llama-3.2V-11B-cot 效果惊艳展示:复杂图表理解与数据洞察报告生成 最近在尝试各种多模态模型时,我遇到了一个让我眼前一亮的家伙——Llama-3.2V-11B-cot。这个名字听起来有点复杂,但它的能力却简单直接:它不仅能“看”懂图片&am…...
