首页 > 其他分享 >MybatisPlus自动填充

MybatisPlus自动填充

时间:2023-06-18 23:34:05浏览次数:35  
标签:setValue MybatisPlus 填充 LocalDateTime 自动 import metaObject

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

import java.time.LocalDateTime;

@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    /**
     *
     * MybatisPlus
     * 插入操作自动填充
     *做插入操作的时候会自动执行下面的语句
     * @param metaObject
     */

    @Override
    public void insertFill(MetaObject metaObject) {
        log.info(metaObject.toString());
        metaObject.setValue("createTime", LocalDateTime.now());
        //这里的方法参数不支持Servletrequest,拿不到session或者request对象,因此可以通过线程,
        // 发送http时这三个类中的特定方法的线程是相同的所以才能调用
        metaObject.setValue("createUser", BaseContext.getCurrentID());
        metaObject.setValue("updateTime", LocalDateTime.now());
        metaObject.setValue("updateUser",  BaseContext.getCurrentID());
    }

    /**
     * 更新操作自动填充
     *
     *
     * @param metaObject
     */
    @Override
    public void updateFill(MetaObject metaObject) {
        metaObject.setValue("updateTime", LocalDateTime.now());
        metaObject.setValue("updateUser",  BaseContext.getCurrentID());
    }
}

注:此填充配合注解.md文件使用

标签:setValue,MybatisPlus,填充,LocalDateTime,自动,import,metaObject
From: https://www.cnblogs.com/liu-jin/p/17490022.html

相关文章

  • MybatisPlus拦截器配置
    /***配置mp的分页插件(拦截)*/@ConfigurationpublicclassMybatisPlusConfig{@BeanpublicMybatisPlusInterceptormpInterceptor(){MybatisPlusInterceptormybatisPlusInterceptor=newMybatisPlusInterceptor();mybatisPlusInterceptor.......
  • linux sh脚本一键自动部署 前端项目、docker项目、java项目
    1、2、静态前端,admin_xx_auto_deployment.sh#!/bin/bashsource/etc/profile#.~/.bash_profilecd/data/yyyyy_temp/xx_admin_code/yyyyy2-admingitpullPATH=$PATH:./node_modules/.binecho$PATHnpmrunbuild:test1cp-r/data/yyyyy_temp/xx_admin_code/yyyyy2-ad......
  • 软件测试|web自动化测试神器playwright教程(二十七)
    前言使用selenium进行web自动化测试,如果我们打开了多个网页,进行网页切换时,我们需要先获取各个页面的句柄,通过句柄来区分各个页面,然后使用switch_to.window()实现切换,这样的操作比较麻烦,playwright的网页切换比selenium更为简单快捷。本文就给大家介绍一下playwright多个网页的切换......
  • 软件测试|web自动化测试神器playwright教程(二十三)
    前言我们在进行web自动化时,经常遇到一些不好操作的元素,普通的元素定位和操作容易报错,如果我们使用的selenium的话,就可以使用selenium调用js脚本进行操作。在playwright中也有类似的方法,使用page.evaluate()执行JavaScript脚本。page.evaluate()和page.evaluate_handle()之间的唯......
  • 软件测试|web自动化测试神器playwright教程(二十五)
    前言鼠标为我们使用电脑提供了很多方便,我们看到的东西就可以将鼠标移动过去进行点击就可以打开或者访问内容,当页面内容过长时,我们也可以使用鼠标滚轮来实现对整个页面内容的查看,其实playwright也有鼠标操作的方法,本文我们就来介绍playwright的鼠标操作。鼠标操作Mouse鼠标操作是基......
  • .Net6 增加AutoMapper自动映射
    概述1、什么是AutoMapper简单来说,AutoMapper就是一个用C#语言开发的一个轻量的处理一个实体对象到另外一个实体对象映射关系的组件库官网地址:AutoMapper文档地址:AutoMapper—AutoMapperdocumentation 2、为什么要用AutoMapper层与层之间的......
  • 【办公自动化】利用chromeDriver自动发布文章 
    要在Python中使用ChromeDriver自动发布文章,你可以使用Selenium库。以下是一个示例代码,可以帮助你实现这个功能:chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.htmlhttp://npm.taobao.org/mirrors/chromedriver/两个地址都可以下载,根据自己的chrome浏览器......
  • SpringBoot自动配置的原理
    以WebMvcAutoConfiguration自动配置的原理为例,SpringBoot内部对大量的第三方库或Spring内部库进行了默认配置,这些配置是否生效,取决于我们是否引入了对应库所需的依赖,如果有那么默认配置就会生效。如果引入springboot-starter-web那么对应的web配置就会自动配置。那么是如何自动配......
  • Windows Server 2022 上添加无线网卡组件的批处理命令 启用 Windows Server 2022 无线
    在WindowsServer2022上添加无线网卡组件的批处理命令:打开记事本,将以下命令复制粘贴到记事本中:dism/online/enable-feature/featurename:Wireless-Networking/All将文件保存为后缀名为.bat的批处理文件,比如"install_wireless_component.bat"。在Windowsserver2022......
  • 使用以下命令来禁止 Windows Server 2022 在登录时自动启动服务器管理器
    使用以下命令来禁止WindowsServer2022在登录时自动启动服务器管理器:打开记事本,将以下命令复制粘贴到记事本中:regadd"HKLM\Software\Microsoft\ServerManager"/vDoNotOpenServerManagerAtLogon/tREG_DWORD/d1/f将文件保存为后缀名为.bat的批处理文件,比如"disabl......