亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MyBatis-Plus 修改和添加自動(dòng)填充時(shí)間方式

 更新時(shí)間:2021年08月06日 10:32:45   作者:路燈下的嗜好  
這篇文章主要介紹了MyBatis-Plus 修改和添加自動(dòng)填充時(shí)間方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

MyBatis-Plus 修改和添加自動(dòng)填充時(shí)間

數(shù)據(jù)庫(kù)字段設(shè)置:

`valid_verify_time` datetime DEFAULT NULL COMMENT '有效性審核時(shí)間',

實(shí)體類(lèi)設(shè)置:

@JsonSerialize:序列化

@JsonDeserialize:反序列化

LocalDateTimeSerializer:JDK時(shí)間序列化規(guī)則

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

打印出來(lái)的SQL

mybatisplus自動(dòng)填充值:完成自動(dòng)填充更新時(shí)間和創(chuàng)造時(shí)間,以及坑

一般實(shí)體類(lèi)最后都會(huì)帶有createTime和updateTime但我希望讓它是自動(dòng)更新的,由于mybatisplus的sql是看不到的, 但又不想自己重寫(xiě)sql。于是解決方法來(lái)了!用它自帶的字段自動(dòng)填充功能!

實(shí)體類(lèi):

@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;
}

在這里插入圖片描述

這個(gè)是自增策略,我希望createTime只是在插入的時(shí)候會(huì)自動(dòng)賦值,而updateTime是插入和更新的時(shí)候自動(dòng)賦值一共是有一下幾種:

在這里插入圖片描述

已經(jīng)自定義了自動(dòng)填充的觸發(fā)情況,下面應(yīng)該定義自動(dòng)填充的策略了

1.

在這里插入圖片描述

創(chuàng)建如圖所示的類(lèi)

代碼如下:

@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);
    }
}

在這里插入圖片描述

第一個(gè)是字段name,第二個(gè)是value,第三個(gè)照著寫(xiě)

用了LocalDateTime實(shí)體類(lèi)字段類(lèi)型也要用LocalTime類(lèi)型

我這里用的:

在這里插入圖片描述

用String是無(wú)法填充的!類(lèi)型不匹配

在這里插入圖片描述

這張圖是數(shù)據(jù)庫(kù)類(lèi)型和java類(lèi)型對(duì)應(yīng)關(guān)系。

當(dāng)然你的數(shù)據(jù)庫(kù)這里用timestamp和datetime都是可以的

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論