溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MyBatis-Plus如何修改和添加自動填充時間

發布時間:2021-08-06 13:51:14 來源:億速云 閱讀:357 作者:小新 欄目:開發技術

小編給大家分享一下MyBatis-Plus如何修改和添加自動填充時間,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

MyBatis-Plus 修改和添加自動填充時間

數據庫字段設置:

`valid_verify_time` datetime DEFAULT NULL COMMENT '有效性審核時間',

實體類設置:

@JsonSerialize:序列化

@JsonDeserialize:反序列化

LocalDateTimeSerializer:JDK時間序列化規則

@ApiModelProperty(value = "有效性審核時間")
    @TableField(fill = FieldFill.UPDATE, update = "now()")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime validVerifyTime;

打印出來的SQL

MyBatis-Plus如何修改和添加自動填充時間

mybatisplus自動填充值:完成自動填充更新時間和創造時間,以及坑

一般實體類最后都會帶有createTime和updateTime但我希望讓它是自動更新的,由于mybatisplus的sql是看不到的, 但又不想自己重寫sql。于是解決方法來了!用它自帶的字段自動填充功能!

實體類:

@Data
@TableName("mmall_user")
public class User {
    @TableId
    private int id;
    private String username;
    private String password;
    private String email;
    private String phone;
    private String question;
    private String answer;
    private int role;
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}

MyBatis-Plus如何修改和添加自動填充時間

這個是自增策略,我希望createTime只是在插入的時候會自動賦值,而updateTime是插入和更新的時候自動賦值一共是有一下幾種:

MyBatis-Plus如何修改和添加自動填充時間

已經自定義了自動填充的觸發情況,下面應該定義自動填充的策略了

1.

MyBatis-Plus如何修改和添加自動填充時間

創建如圖所示的類

代碼如下:

@Component
@Slf4j
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
    log.info("start insert field....");
    this.setFieldValByName("createTime", LocalDateTime.now(),metaObject);
    this.setFieldValByName("updateTime", LocalDateTime.now(),metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime", LocalDateTime.now(),metaObject);
    }
}

MyBatis-Plus如何修改和添加自動填充時間

第一個是字段name,第二個是value,第三個照著寫

用了LocalDateTime實體類字段類型也要用LocalTime類型

我這里用的:

MyBatis-Plus如何修改和添加自動填充時間

用String是無法填充的!類型不匹配

MyBatis-Plus如何修改和添加自動填充時間

這張圖是數據庫類型和java類型對應關系。

當然你的數據庫這里用timestamp和datetime都是可以的

看完了這篇文章,相信你對“MyBatis-Plus如何修改和添加自動填充時間”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女