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

MybatisPlus实现插入/修改数据自动设置时间

引言

插入数据时自动设置当前时间,更新数据时自动修改日期为修改时的日期。

使用MybatisPlus的扩展接口MetaObjectHandler

步骤

  1. 实现接口

  2. 实体类加注解

实现接口

package com.example.vueelementson.common;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.util.Date;/*** @BelongsProject: blog-springboot* @BelongsPackage: com.example.vueelementson.common* @Author: Zww* @CreateTime: 2024-07-07  16:38* @Description: TODO* @Version: 1.0*/
@Component
public class ExtraDataHandle implements MetaObjectHandler {@Overridepublic void insertFill(MetaObject metaObject) {// 第一个值填入你要设置的字段名,第二个值为每次自动填充的值metaObject.setValue("publishTime", new Date());metaObject.setValue("updateTime", new Date());}@Overridepublic void updateFill(MetaObject metaObject) {this.setFieldValByName("updateTime", new Date(), metaObject);}
}

添加注解

image-20240707175012082

不过这里的Date给到前端是时间戳格式的

image-20240707181308362

,我们在前端增加一个 时间戳转换的js,引入并在method里调用

JS时间戳转时间代码

// 时间戳:1637244864707
/* 时间戳转换为时间 */
export default {timestampToTime(value, type = 0) {var time = new Date(value);// 2023-07-07 17:07:44var year = time.getFullYear();// 2023年var month = time.getMonth() + 1; // 0-11 +1表示1-12月var date = time.getDate();// 1-31号var hour = time.getHours();// 0-23时var minute = time.getMinutes();// 0-59分var second = time.getSeconds();// 0-59秒month = month < 10 ? "0" + month : month;// 如果小于10的月份,前面补0date = date < 10 ? "0" + date : date;hour = hour < 10 ? "0" + hour : hour;minute = minute < 10 ? "0" + minute : minute;second = second < 10 ? "0" + second : second;var arr = [year + "-" + month + "-" + date,year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second,year + "年" + month + "月" + date,year + "年" + month + "月" + date + "日" + " " + hour + ":" + minute + ":" + second,hour + ":" + minute + ":" + second]return arr[type];}
}

使用该js

image-20240707184712328

结果

http://www.lryc.cn/news/394152.html

相关文章:

  • Java语言程序设计篇一
  • Calicoctl工具学习 —— 筑梦之路
  • Wormhole Filters: Caching Your Hash on Persistent Memory——泛读笔记
  • PyTorch学习之torch.transpose函数
  • Git仓库介绍
  • 人工智能笔记分享
  • 秋招提前批面试经验分享(上)
  • [AIGC] ClickHouse的表引擎介绍
  • 关于新装Centos7无法使用yum下载的解决办法
  • OpenEarthMap:全球高分辨率土地覆盖制图的基准数据集(开源来下载!!!)
  • 工作助手VB开发笔记(1)
  • WAWA鱼曲折的大学四年回忆录
  • Go 依赖注入设计模式
  • 使用React复刻ThreeJS官网示例——keyframes动画
  • 嵌入式linux面试1
  • 智能交通(3)——Learning Phase Competition for Traffic Signal Control
  • 【扩散模型】LCM LoRA:一个通用的Stable Diffusion加速模块
  • 【PYG】pytorch中size和shape有什么不同
  • 备份服务器出错怎么办?
  • 数据库(表)
  • Feign-未完成
  • # [0705] Task06 DDPG 算法、PPO 算法、SAC 算法【理论 only】
  • Open3D 点云CPD算法配准(粗配准)
  • 04-ArcGIS For JavaScript的可视域分析功能
  • Nestjs基础
  • DDL:针对于数据库、数据表、数据字段的操作
  • 昇思学习打卡-5-基于Mindspore实现BERT对话情绪识别
  • Java中 普通for循环, 增强for循环( foreach) List中增删改查的注意事项
  • 昇思25天学习打卡营第19天|LSTM+CRF序列标注
  • 微服务: 初识 Spring Cloud