mybatisplus填充公共字段MetaObjectHandler后不生效解决方式

news2024/9/22 5:33:43

 

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

import java.util.Date;

/**
 * 拦截处理公共字段
 */
@Primary
@Component
public class CommonColumnHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        if(metaObject.getOriginalObject() instanceof CommonBean){
            String userId = SessionUtil.currentUserId();
            CommonBean bean = (CommonBean) metaObject.getOriginalObject();
            bean.setCreateTime(new Date());
            bean.setUpdateTime(bean.getCreateTime());
            if(StringUtils.isNotBlank(userId)){
                bean.setCreateUser(userId);
                bean.setUpdateUser(userId);
            }
            if(StringUtils.isBlank(bean.getId())){
                bean.setId(StringTool.uuid());
            }
        }
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        if(metaObject.getOriginalObject() instanceof CommonBean){
            CommonBean bean = (CommonBean) metaObject.getOriginalObject();
            bean.setUpdateTime(new Date());
            String userId = SessionUtil.currentUserId();
            if(StringUtils.isNotBlank(userId)){
                bean.setUpdateUser(userId);
            }
        }
    }
}

 上述实现类,程序根本就没有进去,保存方法如下

整个上面的写法只更新了实体的两个属性,所以没有触发实现类的填充代码,下面是整个实体的更新,就能够进入实现类。

因此只有整个实体更新或保存才能触发填充代码

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

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

相关文章

高清短视频:四川京之华锦信息技术公司

高清短视频:视觉盛宴与时代的脉搏 在数字化时代,短视频已成为人们生活中不可或缺的一部分。其中,高清短视频以其卓越的画质和精彩的内容,成为了人们追求视觉享受的首选。四川京之华锦信息技术公司将从高清短视频的定义、特点、影…

简单微信企业群消息推送接口

群管理 群发送接口 POST: JSONURL http://localhost:65029/m/wxapi/sendwxmsg{ "nr":"试", --消息 "at":"wxid_y0k4dv0xcav622,wxid_y0k4dv0xcav622",--群wxid "key":"F98F354F1671A2D21BC78C76B95E96EB",--群k…

设计软件有哪些?建模和造型工具篇(2),渲染100邀请码1a12

之前介绍了一批建模工具,这次我们继续介绍。 1、Forest Pack Forest Pack是由iToo Software公司开发的3ds Max插件,专门用于创建大规模自然环境。它提供了丰富的植被和物体库,用户可以快速创建树木、植物、岩石等元素,并将它们分…

迭代器模式(行为型)

目录 一、前言 二、迭代器模式 三、总结 一、前言 迭代器模式(Iterator Pattern)是一种行为型设计模式,提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。总的来说就是分离了集合对象的遍历行为,抽象出…

AutoCAD Electrical电气版 2018 2019 2020 20212022远程安装服务

购买流程: ①进店沟通需求 ②协商服务内容 ③拍下订单 ④远程安装服务 常用版本2015,2016,2018,2019,2020,2021,2022。 适用:WIN 7/8/10/11系统用户购买 系统支持推荐 WIN7&…

【数据分析面试】54.员工信息(HR)数据库搭建

题目 由于发展需求,进一步提高公司人员统筹管理的能力,公司决定要重新升级人力数据管理系统。 现在,你的任务是为公司重新设计和搭建一个员工信息数据库。 提示:考虑HR管理系统的功能,比如人员信息、入职时间、离职…

shell脚本【免交互】

目录 1. Here Document 免交互 1.1 Here Document概述 1.2 实验操练 1.3 tee命令 ​1.4 变量替换 ​ 2. expect 免交互 2.2 实验操练 1. Here Document 免交互 1.1 Here Document概述 *使用I/O重定向的方式将命令列表提供给交互式程序或命令,比如 ftp、…

clickhouse——clickhouse单节点部署及基础命令介绍

clickhouse支持运行在主流的64位CPU架构的linux操作系统之上,可以通过源码编译,预编译压缩包,docker镜像和rpm等多种方式进行安装。 一、单节点部署 1、安装curl工具 yum install -y curl 2、添加clickhouse的yum镜像 curl -s https://pack…

5V降3.3V或3V恒压1A芯片WT6015

5V降3.3V或3V恒压1A芯片WT6015 WT6015 是一款采用恒定频率、电流模式架构的高效单片同步降压稳压器。该设备有可调节版本。无负 载时的电源电流为 40uA&#xff0c;关断时降至 <1uA。 2.5V 至 5.5V 输入电压范围使 WT6015 非常适合单节锂离 子电池供电的应用。 100% 占空比…

第八课,分支语句嵌套、随机数函数、初识while循环

一&#xff0c;分支结构的嵌套语法 在 Python 中&#xff0c;分支结构可以嵌套&#xff0c;这意味着你可以在一个条件语句中包含另一个条件语句。嵌套的分支结构可以让你更灵活地控制程序的逻辑流程。 怎么理解呢&#xff1f;打个比方&#xff1a;放学后&#xff0c;请三年级…

macOS上编译android的ffmpeg及ffmpeg.c

1 前言 前段时间介绍过使用xcode和qt creator编译调试ffmepg.c&#xff0c;运行平台是在macOS上&#xff0c;本文拟介绍下android平台如何用NDK编译链编译ffmepg库并使用。 macOS上使用qt creator编译调试ffmpeg.c macOS上将ffmpeg.c编译成Framework 大体思路&#xff1a; 其…

【数据结构】链式二叉树(超详细)

文章目录 前言二叉树的链式结构二叉树的遍历方式二叉树的深度优先遍历前序遍历(先根遍历)中序遍历(中根遍历)后序遍历(后根遍历) 二叉树的广度优先遍历层序遍历 二叉树链式结构接口实现二叉树结点个数二叉树叶子结点个数二叉树的深度&#xff08;高度&#xff09;二叉树第k层结…

R18 NTN中的RACH-less HO

在看R18 38.300时,发现NTN场景 增加了如下黄色字体的内容,R18 NTN支持了RACH-less HO,索性就简单看了看。 NTN RACH less HO相关的描述主要在38.331,38.213和38.321中。38.300中的描述显示:网络侧会通过RRCReconfiguration消息将RACH-less HO相关的配置下发给UE, 其中会包…

Linux入侵应急响应与排查

入侵者在入侵成功后&#xff0c;往往会留下后门以便再次访问被入侵的系统&#xff0c; 而创建系统账号是一种比较常见的后门方式。 查询特权用户特权用户(uid 为0) awk -F: $30{print $1} /etc/passwd 查找远程可以登录的账户 awk /\$1|\$5|\$6/{print $1} /etc/shadow $1&a…

仿真APP在微波加热仿真分析中的应用

一、背景介绍 微波炉是一种常用的食物加热工具&#xff0c;主要是由腔室、磁控管、波导管三个部分组成。在工作过程中&#xff0c;磁控管产生波长约为12.2cm的微波&#xff08;对应频率2.45GHz&#xff09;&#xff0c;通过波导管注入腔室内&#xff0c;在腔室内产生振荡的磁场…

echarts取消纵坐标,自定义提示内容,完整 echarts 布局代码

效果图 实现代码 开启点击柱子时的提示内容 //完整写法请看下面tooltip: {trigger: axis,axisPointer: {type: shadow}},自定义提示内容 //完整写法请看下面formatter: function (param) {// param是悬浮窗所在的数据&#xff08;x、y轴数据&#xff09;let relVal "&…

【LeeCode算法】第67题:二进制求和

目录 一、题目描述 二、初次解答 三、官方解法 四、总结 一、题目描述 二、初次解答 1. 思路&#xff1a;将a和b两个字符串转换成十进制&#xff0c;然后将相加的结果转换回文本的二进制。 2. 代码&#xff1a; char* addBinary(char* a, char* b) {int a_len strlen(a);i…

P3-P6容器之分类与各种测试

序列容器 关联式容器 这里讲到的哈希碰撞&#xff0c;是两个元素的存放位置冲突&#xff0c;用链表进行处理&#xff1b;同时hashtable的链表不能太长 以下测试程序之辅助函数 一、序列容器 array vector vector容量是两倍增长&#xff0c; 当添加元素之后&#xff0c;容…

什么样的跨网文件交换系统适合车企行业?

对于汽车行业而言&#xff0c;随着市场的全球化&#xff0c;产品和数据的跨网流通已成为常态。在这个过程中&#xff0c;跨网文件交换系统成为了连接全球供应链、加速产品开发周期、确保数据安全的不可或缺的桥梁。但什么样的系统才能真正满足车企的严苛要求呢&#xff1f;让我…

阿里通义千问大模型AI接入火车头自动生成内容插件

插件特点&#xff1a; 可以根据采集的关键词&#xff0c;自动生成文章可自定义提示词 也可以分析标题重写一个标题2个提问标签 如有需要可自由增加对话标签自己可以设置TXT关键词导入&#xff0c;自动采集生成 安装说明&#xff1a; 1.需要python环境 &#xff0c;具体可以…