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

yizhihongxing

下面详细讲解"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日

相关文章

  • Java如何给变量取合适的命名

    Java变量命名攻略 在Java中,给变量取合适的命名是一项重要的编程实践。良好的命名可以提高代码的可读性和可维护性。下面是一些关于如何给变量取合适命名的攻略: 1. 使用有意义的名称 变量的名称应该能够清晰地表达其用途和含义。避免使用单个字母或无意义的缩写作为变量名。相反,使用描述性的名称,以便其他开发人员能够轻松理解变量的用途。 示例1: // 不好的命…

    other 2023年8月5日
    00
  • Spring注入Bean的一些方式总结

    Spring注入Bean的一些方式总结 在Spring框架中,我们可以使用多种方式来注入Bean,以便在应用程序中使用它们。下面是一些常见的注入方式的总结。 构造函数注入 构造函数注入是通过调用类的构造函数来创建Bean实例,并将依赖项作为参数传递给构造函数。这种方式可以确保Bean在创建时具有所有必需的依赖项。 示例: public class UserS…

    other 2023年8月6日
    00
  • VUE递归树形实现多级列表

    下面是“VUE递归树形实现多级列表”的完整攻略。 1. 理解递归树形结构 递归树形结构,是指一个树形结构中包含了许多子树,而每个子树中又可能包含有更多的子树,这样的结构就可以使用递归来描述。 2. 实现递归组件 在 Vue 中实现递归树形结构,需要定义一个递归组件。递归组件是指在组件的模板中再次使用相同的组件,从而形成递归结构。 假设我们要实现一个无限级列表…

    other 2023年6月27日
    00
  • spark在windows下的安装

    Spark在Windows下的安装 Apache Spark是一个流行的开源分布式计算框架,它可以用于处理大规模数据集。在本文中,我们将详细介绍如何在Windows操作系统上安装配置Apache Spark。 步骤1:下载和安装Java 在安装Spark之前,我们需要先安装Java。我们可以从Oracle官网下载Java Development Kit(JD…

    other 2023年5月8日
    00
  • Python扩展内置类型详解

    Python扩展内置类型详解攻略 什么是Python扩展内置类型? Python扩展内置类型指的是Python中内置的原生类型,比如list或dict等,这些类型在Python中是非常常用的,并且可以被扩展和定制以适应不同的需求。 如何扩展内置类型? 要扩展内置类型,可以使用Python的类继承机制或者定义一批C语言函数。在这里我们主要介绍使用类继承机制,通…

    other 2023年6月26日
    00
  • Java基础复习笔记系列 五 常用类

    Java中的常用类是指在Java开发中经常使用的类,包括字符串、日期、时间、数学、集合等。以下是常用类的完整攻略,包括以下内容: 字符串类 日期和时间类 数学类 集合类 字符串类 字符串类是Java中最常用的类之一,用于处理字符串。以下是字符串类的示例: public class StringExample { public static void main…

    other 2023年5月6日
    00
  • python可视化界面编程入门

    以下是“Python可视化界面编程入门”的完整攻略: Python可视化界面编程入门 Python是一种功能强大的编语言可以用于开发各种类型的应用程序,包括具有图形用户界面(GUI)的应用。Python提供了多种GUI工具包,包括Tkinter、PyQt、wxPython等。在本攻略中,我们将重点介绍使用Tkinter进行Python可视化界面编程的基础知识…

    other 2023年5月7日
    00
  • Java实现批量修改文件名和重命名的方法

    下面是详细讲解“Java实现批量修改文件名和重命名的方法”的完整攻略,包含两条示例说明。 1. 引言 在我们日常的开发工作中,有时候需要对文件进行批量修改文件名或重命名,手动修改文件名是一项较为耗时、繁琐的工作,因此,使用Java程序来实现批量修改文件名和重命名是一项非常实用的技能。 2. 实现方法 Java中实现批量修改文件名和重命名的主要步骤包括:获取指…

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