自动填充

项目中经常会遇到一些数据,每次都使用相同的方式填充,例如记录的创建时间,更新时间等。

我们可以使用MyBatis Plus的自动填充功能,完成这些字段的赋值工作:

(1)数据库表中添加自动填充字段

在User表中添加datetime类型的新的字段 create_time、update_time

(2)实体上添加注解

@Data
public class User {    ......@TableField(fill = FieldFill.INSERT)private Date createTime;//@TableField(fill = FieldFill.UPDATE)@TableField(fill = FieldFill.INSERT_UPDATE)private Date updateTime;}

(3)实现元对象处理器接口

注意:不要忘记添加 @Component 注解

package com.leon.mpdemo1010.handler;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;import java.util.Date;@Component
public class MyMetaObjectHandler implements MetaObjectHandler {//使用mp实现添加操作,这个方法执行@Overridepublic void insertFill(MetaObject metaObject) {this.setFieldValByName("createTime",new Date(),metaObject);this.setFieldValByName("updateTime",new Date(),metaObject);this.setFieldValByName("version",1,metaObject);}//使用mp实现修改操作,这个方法执行@Overridepublic void updateFill(MetaObject metaObject) {this.setFieldValByName("updateTime",new Date(),metaObject);}
}

(4)测试

MybatisPlus实现自动填充相关推荐

  1. mybatis-plus实现自动填充数据如:数据库中createTime和updateTime

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

  2. Mybatis-plus的自动填充功能

    1.概述 在我们开发过程中,经常需要做一些插入操作,有些麻烦,特别是对于一些每次插入或修改都需要改变的的一些字段,例如创建时间和修改时间两个字段,和数据没什么关系但是每次修改都需要被动修改这两个字段, ...

  3. mybatis-plus 实现自动填充时间

    1.引入pom依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plu ...

  4. 记一次mybatis-plus数据自动填充爆露出来的多线程的问题

    技术背景: spring boot+mybatis-plus做公共字段填充(MetaObjectHandler),之前项目没有接入用户系统故用户名填充都是使用的默认值,最近公司整合统一网关,接入用户信 ...

  5. MyBatis-Plus 扩展篇 > 自动填充功能

    目标: 懂得实现 Mybatis-Plus的自动填充 实现步骤: 1.新建一个handle类 实现元对象处理器接口 2.实体类属性上 添加对应的注解(注解填充字段 @TableField) 一.如何理 ...

  6. MySQL实现字段自动填充功能

    根据阿里巴巴开发手册,有这么一句话:所有的数据库表当中必须有gmt_create.gmt_modified,几乎所有的表都要配置上!而且需要自动化!!! 对于创建时间.修改时间这些字段,我们是希望在添 ...

  7. mybatis-pius自动填充

    mybatis-pius自动填充 花开堪折直需折,莫待无花空折枝 阿里Java开发手册,数据库字段必须有:id,创建时间,更新时间: 自动填充方式实现: 数据库层面: 设置默认值,但由于各个数据库的设 ...

  8. Mybatis-Plus自动填充的实现示例

    在常用业务中有些属性需要配置一些默认值,MyBatis-Plus提供了实现此功能的插件.在这里修改user表添加 create_time 字段和 update_time 字段,在User类中添加对应属 ...

  9. MyBatis-Plus 乐观锁 防止超卖、逻辑删除、自动填充、Id自增

    MyBatis-Plus 乐观锁 防止超卖.逻辑删除.自动填充 Day3 前面的简单的讲了一下mybatis-plus的使用 当然有很多不足 我写博客就是想促进大家一起学习 也想让这些内容更简单一些. ...

最新文章

  1. 均值聚类散点图怎么画_GraphPad Prism 绘图教程 | 手把手教你绘制Column散点图
  2. 独家 | 菜鸟必备的循环神经网络指南(附链接)
  3. python读取数据库导出文件_Python 获取 datax 执行结果保存到数据库的方法
  4. CodeForcesGym 100753B Bounty Hunter II 二分图最小路径覆盖
  5. 【深度学习】训练集、验证集、测试集
  6. java死信队列_RabbitMQ 死信队列是什么鬼?
  7. JEPaas功能_isEmpty(b.getValue())?“doSave“:“doUpdate“;
  8. controller是什么意思_SpringMVC是什么??
  9. java优秀算法河内之塔_河内塔的Java程序
  10. github page hexo博客gitee_利用Github和hexo搭建个人免费博客
  11. 可选版本 安装软件_【Linux软件】在Deepin系统下安装LibreOffice 6.1.4版本的方法
  12. 在 Ubuntu 14.04 中配置 PXE 服务器
  13. web前端页面优化——个人见解
  14. SpringBoot + MyBaties 实现其XML方式
  15. java多线程同步与测试_Java多线程同步Synchronized深入解析
  16. AD检查步骤及其顺序
  17. STM32F103C8T6实现串口通信
  18. 光模块:PCB设计方法
  19. 一个中文占多少个英文字符
  20. 机器人视觉系统由哪些结构组成?

热门文章

  1. 2017年1月22日 10:00
  2. 轻松解决MYSQL数据库连接过多的错误
  3. 委托、Lambda表达式和事件
  4. ASP.NET页面之间传值Application(5)
  5. 【读书笔记】泛型接口 和 泛型方法
  6. Access结合aspnetpager分页
  7. 优秀的人,都敢对自己下狠手
  8. 真的了解js生成随机数吗
  9. Unity网格合并_材质合并
  10. 站点分析基础概念之目标转化率