Mybatis plus通用字段自动填充的示例

下面详细讲解"Mybatis Plus通用字段自动填充"的完整攻略:

什么是MyBatis Plus通用字段自动填充?

通用字段自动填充是 MyBatis Plus 提供的一个便捷的功能,在这个功能中,我们可以指定公用的字段如:创建时间、更新时间、创建人、更新人等,当插入或修改一条数据时,这些字段会自动填充。

如何实现?

MyBatis Plus 给我们提供了一个接口来实现通用字段自动填充,代码如下:

public interface MetaObjectHandler {

    /**
     *  插入时自动填充数据
     * @param entity 实体类对象
     */
    void insertFill(MetaObject metaObject);

    /**
     * 更新时自动填充数据
     * @param entity 实体类对象
     */
    void updateFill(MetaObject metaObject);

}

当在实体类中定义字段时,若要该字段支持自动填充,则要在该字段上标记 @TableField 注解。@TableField 注解中的 fill 属性就负责指定自动填充的类型,有如下四种:

  • FieldFill.DEFAULT:不填充
  • FieldFill.INSERT:插入时填充
  • FieldFill.UPDATE:更新时填充
  • FieldFill.INSERT_UPDATE:插入和更新时都填充

示例1:自动填充创建时间、创建人

public class User {

    /**
     * 用户编号
     */
    private Long id;

    /**
     * 用户名
     */
    private String username;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 更新人
     */
    @TableField(fill = FieldFill.UPDATE)
    private String updateBy;

    // 省略 getter 和 setter 

}

在插入一条数据时,创建时间和创建人会自动填充,而更新时间和更新人则不会。

示例2:自动填充更新时间、更新人

public class User {

    /**
     * 用户编号
     */
    private Long id;

    /**
     * 用户名
     */
    private String username;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 更新人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    // 省略 getter 和 setter 

}

在插入或更新一条数据时,创建时间和创建人会自动填充,而更新时间和更新人则都会自动填充。

以上就是 MyBatis Plus 通用字段自动填充的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis plus通用字段自动填充的示例 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 通过Spring Boot + Mybatis + Redis快速搭建现代化Web项目

    以下是通过Spring Boot + Mybatis + Redis快速搭建现代化Web项目的完整攻略: 步骤1:创建Spring Boot项目 使用Spring Initializr创建一个新的Spring Boot项目。 添加所需的依赖,包括Spring Boot、Mybatis和Redis。 步骤2:配置数据库和Redis连接 在application…

    other 2023年10月17日
    00
  • 大势至企业数据防泄漏系统产品、企业数据防泄密产品V10.3正式上市

    大势至企业数据防泄漏系统产品、企业数据防泄密产品V10.3正式上市攻略 1. 产品概述 大势至企业数据防泄漏系统产品、企业数据防泄密产品V10.3是一款专业的数据保护解决方案,旨在帮助企业有效防止敏感数据泄露和信息泄密的风险。该产品的正式上市为企业提供了更强大的数据安全保护能力。 2. 攻略步骤 步骤一:了解产品功能和特点 在使用大势至企业数据防泄漏系统产品…

    other 2023年6月28日
    00
  • 简单谈谈JavaScript变量提升

    当然!下面是关于\”简单谈谈JavaScript变量提升\”的完整攻略,包含两个示例说明。 … JavaScript变量提升 在JavaScript中,变量提升是指在代码执行之前,JavaScript引擎会将变量的声明提升到作用域的顶部。这意味着我们可以在变量声明之前使用变量。 … 示例1:变量声明提升 console.log(message); /…

    other 2023年8月20日
    00
  • middlebury数据集介绍

    Middlebury数据集介绍的完整攻略 1. 基本介绍 Middlebury数据集是计算机视觉领域中广泛使用的一个数据集,它含了多个场景下的图像序列和对应的视差图。这些数据可以用于评估和比较不同的视差算法的性能。Middlebury数据集是一个公开的数据集,可以免费下载和使用。 2. 下载和使用 以下是使用Middlebury数据集的详细步骤: 下载Mid…

    other 2023年5月10日
    00
  • Winrar 右键解压菜单失效问题的解决思路分析

    下面是关于“Winrar 右键解压菜单失效问题的解决思路分析”的完整攻略。 问题描述 当我们在 Windows 系统中使用 Winrar 解压缩压缩包时,通常会在文件右键菜单中看到“解压到当前文件夹”等解压选项。但是,在某些情况下我们右键菜单中却无法看到这些选项,而只有“Winrar”或“打开方式”等选项。这种情况在 Win10 系统中更为常见。 解决思路 …

    other 2023年6月27日
    00
  • Mysql InnoDB引擎中的数据页结构详解

    那么让我们通过以下步骤详细讲解Mysql InnoDB引擎中数据页结构的攻略: 1. 什么是InnoDB引擎中的数据页? InnoDB是Mysql的一种存储引擎,用于存储和管理数据库中的数据。而这些数据则通过数据页的形式保存在Mysql数据文件(如 .ibd 文件)中。因此,我们可以把数据页看做是InnoDB数据文件中的最小单位,每一页的大小默认为16KB。…

    other 2023年6月27日
    00
  • JavaScript使用DeviceOne开发实战(一) 配置和起步

    非常感谢对我们网站的关注,下面是JavaScript使用DeviceOne开发实战(一) 配置和起步的详细攻略。 配置DeviceOne开发环境 下载安装DeviceOne Studio 首先,我们需要下载和安装DeviceOne Studio。 DeviceOne Studio官方网站:https://www.deviceone.net/ DeviceOn…

    other 2023年6月26日
    00
  • laravel 创建命令行命令的图文教程

    下面是一份基于Laravel 8的创建命令行命令的详细攻略: 步骤一: 创建命令 在 Laravel 中,所有的 Artisan 命令都存储在 app/Console/Commands 目录下。如果这个目录不存在,我们可以手动创建。 我们可以使用 make:command Artisan 命令来创建一个新的命令。这个命令将会在 app/Console/Com…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部