关于数据库中每个表中,或者会有需要记录表中数据修改的时间.这个时候应该怎么做呢.当然我们的常规做法就是,首先在数据库中添加两个字段

然后在实体类中添加两个属性

private Date createTime;
private Date updateTime;

注意这个date是util包下的,而不是sql下的
接着我们在添加字段的时候会设置这两个字段的值

user.setCreateTime(new Date());
user.setUpdateTime(new Date());

这是手动设置时间值.但是在mybatis-plus中,我们通常不会这么手动的去设置,而是利用了 mybatis-plus 中的 自动填充功能。

具体实现如下:

第一步:创建类,实现接口MetaObjectHandler实现接口里面的方法

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;import java.time.LocalDateTime;@Component
public class MyMetaObjectHandler implements MetaObjectHandler {private static final Logger LOGGER = LoggerFactory.getLogger(MyMetaObjectHandler.class);//insert操作时要填充的字段@Overridepublic void insertFill(MetaObject metaObject) {LOGGER.info("start insert fill ...");//根据属性名字设置要填充的值this.setFieldValByName("createTime", LocalDateTime.now(), metaObject);this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);}//update操作时要填充的字段@Overridepublic void updateFill(MetaObject metaObject) {LOGGER.info("start update fill ...");this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);}
}

第二步:在实体类中进行自动填充属性添加注解

    @ApiModelProperty(value = "创建时间")@TableField(fill = FieldFill.INSERT)private LocalDateTime createTime;@ApiModelProperty(value = "更新时间")@TableField(fill = FieldFill.INSERT_UPDATE)private LocalDateTime updateTime;

这样实现了框架的方式自动帮我们填充好了创建时间和修改时间。

mybatis-plus实现自动填充数据如:数据库中createTime和updateTime相关推荐

  1. 自动填充数据新增测试数据_用测试数据填充员工数据库

    自动填充数据新增测试数据 In this article, we will examine the process of populating the employee database with d ...

  2. 使用mybatis插入数据到数据库中,显示插入成功,且没有报错,但是数据库中并没有新插入的数据的原因

    使用mybatis插入数据到数据库中,显示插入成功,且没有报错,但是数据库中并没有数据的原因 没有提交事务,有时没有配置自动提交事务的设置,所以需要手动提交事务,即 sqlSession.commit ...

  3. 自动化办公之excel教程(2):各种数据的输入,自动填充数据,表格操作小技巧

    一.各种类型数据的录入 1.数据输入 加粗样式选中单元格后,左上侧会出现字母和数字,如图中的C9,即可在文中输入数据. 2.货币输入 在某一单元格输入框里右键选中设置单元格格式. 3.数字输入 如果我 ...

  4. 解决谷歌浏览器(chrome)input标签自动填充数据的问题,亲测有效

    问题:如题,在谷歌浏览器中,有时input标签会自动填充数据,如用户名密码等... 解决:给input标签加上autocomplete属性, 如果是type="text"就加上au ...

  5. 谷歌浏览器(chrome)input标签自动填充数据的问题(已解决)

    问题:如题,在谷歌浏览器中,有时input标签会自动填充数据,如用户名密码等... 解决:给input标签加上autocomplete属性, 如果是type="text"就加上au ...

  6. mybatis insert 重复数据2条_Mybatis框架lt;增gt;:添加一条数据到数据库中,insert...

    在以上框架中,前面所搭建好的框架全部固定好,接下来,我们在此基础上实现功能使用insert添加一条数据到数据库中(1)在UserMapper接口中添加对应方法,//在数据库表中增添一条数据,返回为in ...

  7. c 批量导入mysql数据库_C#.NET中如何批量插入大量数据到数据库中

    在WEB项目开发过程中有时会碰到批量插入数据到数或者是将EXCEL文件据入到数据库中.为了方便实现可以先将EXCEL导入到GRIDVIEW中然后一次批量插入.实现代码如下: 前台代码 后台代码: // ...

  8. 【Mybatis】Mybatis将String类型的0存到数据库中的number类型字段中,变成了空;

    一.问题 Mybatis将String类型的0存到数据库中的number类型字段中,变成了空: 二.分析 自己写了一个自动写代码的脚本,带入springBatch后,读取文件时,少了序列号0-9的记录 ...

  9. 教你如何使用Java代码从网页中爬取数据到数据库中——网络爬虫精华篇

    文章目录 1:网络爬虫介绍 2:HttpClients类介绍 2.1 HttpGet参数问题 2.2 HttpPost参数问题 2.3 连接池技术问题 3:Jsoup介绍 4:动手实践如何抓取网页上数 ...

最新文章

  1. MATLAB 的条件分支语句
  2. .net中实现拖拽控件
  3. eLua学习第一课:和Lua的第一次亲密接触
  4. 【深度学习】我的第一个基于TensorFlow的卷积神经网络
  5. java单精度实型_Java的八种基本类型及其各种数据类型的相互转换
  6. java jpg结构_Java Class 字节码文件结构分析----附带逐字节码分析图
  7. easy connect电脑版_北师大版小学英语六年级上册Unit4课文听力+翻译+单词录音跟读+高清课本(一起点)...
  8. Work Queues(点对多)
  9. python是什么 自学-Python怎样自学?
  10. 记一次成功的sql注入入侵检测附带sql性能优化
  11. 不解之缘———我与Linux系统
  12. python3 协程_Python3 异步神器-协程(Coroutine)
  13. JavaScript学习笔记二 标识符-字符类型
  14. 乌尔都语简介和Unicode由来
  15. 伊利诺伊香槟分校计算机排名,伊利诺伊大学香槟分校计算机专业排名好不好?_托普仕留学...
  16. 如何自己制作CHM电子书?
  17. 表单注册表单注册表单注册
  18. 国外开源电子商务平台
  19. 计算机接口3p,Roland(罗兰)宣布推出虚拟JX-3P合成器云乐器
  20. jmeter测试抓包

热门文章

  1. k8s修改node的ROLES标签
  2. linux ioctl及ioctl command
  3. 归纳偏置是什么?从现实生活中观察到的现象中归纳出一定的规则,然后对模型做一定的约束,从而可以起到“模型选择”的作用
  4. phpcmsV9框架:安装教程
  5. download在线下载源码
  6. mysql 性能拐点_性能压测及分析调优实践
  7. 达梦数据库修改字段长度_解决达梦数据库新增大字段报错问题
  8. rnn按时间展开_一文搞懂RNN(循环神经网络)基础篇
  9. 百度SEO站群支付宝当面付打赏系统源码
  10. oracle层级计算推演,云和恩墨的两道Oracle面试题