MyBatis数据填充插件

对于新增或修改时,可以对数据进行默认值填充。

使用场景: 例如新增时默认填充创建时间,修改时默认填充修改时间。

引入maven配置

<dependency>
    <groupId>com.wueasy</groupId>
    <artifactId>wueasy-data-mybatis-plugin</artifactId>
    <version>最新版本</version>
</dependency>

代码中使用注解

只能在mybatis映射实体类中使用

  • 使用注解@DataAutoFill,标识当前属性需要自动填充
  • 参数type:操作类型, INSERT新增,UPDATE修改,INSERT_UPDATE新增或修改
  • 参数value:指定赋值, DATE日期,USER_ID当前登录用户id,USER_NAME用户名称,LOGIN_NO:登录名,UUIDTIMESTAMP时间戳,IP访问ip
  • 参数force:是否强制更新,默认true,配置强制更新后,不管内容是否有值,直接覆盖;反之为空的时候填充数据
  • 参数pattern:格式化,目前主要使用在日期格式化,如果配置value = DataValue.DATE并且当前属性类型为String,那么会把日期格式化指定类型。
@Data
@Table(name = "demo")
public class Demo implements Serializable {

    /**
     * 主键
     */
    @Id
    @JSONField(serializeUsing = ToStringSerializer.class)
    @GeneratedValue(generator = "JDBC")
    private Long id;

    /**
     * 名称
     */
    private String name;

    @DataAutoFill(type = DataOperationType.INSERT,value = DataValue.DATE,pattern = "MM-dd HH:mm")
    private String uuid;

    /**
     * 创建时间
     */
    @DataAutoFill(type = DataOperationType.INSERT,value = DataValue.DATE)
    private Date createdTime;

    /**
     * 修改时间
     */
    @DataAutoFill(type = DataOperationType.INSERT_UPDATE,value = DataValue.DATE)
    private Date updatedTime;

    /**
     * 创建人
     */
    @DataAutoFill(type = DataOperationType.INSERT,value = DataValue.USER_ID)
    private Long createdBy;

    /**
     * 修改人
     */
    @DataAutoFill(type = DataOperationType.INSERT_UPDATE,value = DataValue.USER_ID)
    private Long updatedBy;


    private static final long serialVersionUID = 1L;
}
Copyright © wueasy.com 2017-2022 all right reserved,powered by Gitbook未经允许,禁止以任何形式传播 修订时间: 2021-12-01

results matching ""

    No results matching ""