欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql自動填充時間的兩種實現(xiàn)方式小結(jié)

 更新時間:2022年11月30日 11:41:40   作者:liudachu  
這篇文章主要介紹了mysql自動填充時間的兩種實現(xiàn)方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mysql自動填充時間的兩種方式

mysql建表的時候有兩個列,一個是createtime、另一個是updatetime

  • 當(dāng)插入一條數(shù)據(jù),createtime列和updatetime列由數(shù)據(jù)庫獲取當(dāng)前時間自動創(chuàng)建時間
  • 當(dāng)修改一條記錄時,updatetime列由數(shù)據(jù)庫獲取按當(dāng)前時間自動更新時間

方法一:數(shù)據(jù)庫級別

(工作中不允許你修改數(shù)據(jù)庫),一般我們采用方法二

1.在表中新增字段 create_time, update_time,記得同步實體類

2.設(shè)置createtime、updatetime的默認(rèn)值為CURRENT_TIMESTAMP

3.設(shè)置updatetime列屬性ON UPDATE CURRENT_TIMESTAMP


在這里插入圖片描述

方式二:代碼級別

(使用mybatis_plus自動填充策略實現(xiàn))

1、刪除數(shù)據(jù)庫的默認(rèn)值、更新操作!


在這里插入圖片描述

2、實體類字段屬性上需要增加注解

// 字段添加填充內(nèi)容
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;

3、編寫處理器來處理這個注解即可!即配置填充策略

import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.util.Date;
@Slf4j
@Component // 一定不要忘記把處理器加到IOC容器中!
public class MyMetaObjectHandler implements MetaObjectHandler {
    // 插入時的填充策略
    @Override
    public void insertFill(MetaObject metaObject) {
        log.info("start insert fill.....");
        // setFieldValByName(String fieldName, Object fieldVal,MetaObjectmetaObject
        // 最新的MP可以采用這個方法:this.strictInsertFill(metaObject, "createTime", Date.class, new Date());
        this.setFieldValByName("createTime",new Date(),metaObject);
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
    // 更新時的填充策略
    @Override
    public void updateFill(MetaObject metaObject) {
        log.info("start update fill.....");
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
}

4、測試插入

5、測試更新、觀察時間即可!

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

相關(guān)文章

  • MySQL8.0之CTE(公用表表達式)的使用

    MySQL8.0之CTE(公用表表達式)的使用

    本文主要介紹了MySQL8.0之CTE(公用表表達式)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • MySQL之高可用集群部署及故障切換實現(xiàn)

    MySQL之高可用集群部署及故障切換實現(xiàn)

    這篇文章主要介紹了MySQL之高可用集群部署及故障切換實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 用Eclipse連接MySQL數(shù)據(jù)庫的步驟

    用Eclipse連接MySQL數(shù)據(jù)庫的步驟

    這篇文章主要介紹了如何用Eclipse連接MySQL數(shù)據(jù)庫,需要的朋友可以參考下
    2015-08-08
  • MySQL使用Replace操作時造成數(shù)據(jù)丟失的問題解決

    MySQL使用Replace操作時造成數(shù)據(jù)丟失的問題解決

    這篇文章主要給大家介紹了關(guān)于MySQL使用Replace操作時造成數(shù)據(jù)丟失問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • mysql 備份與遷移 數(shù)據(jù)同步方法

    mysql 備份與遷移 數(shù)據(jù)同步方法

    以前要做mysql的備份,我往往都是利用 EMS SQL Manager 實現(xiàn)導(dǎo)出 sql腳本文件,或者導(dǎo)出dbf 文件。而要把本地數(shù)據(jù)庫遷移到遠(yuǎn)程直接把腳本在服務(wù)端執(zhí)行就OK。
    2009-10-10
  • 對MySQL配置參數(shù) my.ini/my.cnf的詳細(xì)解析

    對MySQL配置參數(shù) my.ini/my.cnf的詳細(xì)解析

    今天我們今天主要向大家描述的是MySQL配置參數(shù) my.ini/my.cnf,以下的文章就是對其實際操作的具體內(nèi)容的詳細(xì)解析
    2010-08-08
  • Mysql?InnoDB引擎中頁目錄和槽的查找過程

    Mysql?InnoDB引擎中頁目錄和槽的查找過程

    這篇文章主要為大家介紹了Mysql?InnoDB引擎中頁目錄和槽的查找記錄過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • mysql正則表達式(regexp和rlike)的搜索功能實例分析

    mysql正則表達式(regexp和rlike)的搜索功能實例分析

    這篇文章主要介紹了mysql正則表達式(regexp和rlike)的搜索功能,結(jié)合實例形式分析了mysql正則表達式使用regexp和rlike的搜索功能相關(guān)原理與實現(xiàn)技巧,需要的朋友可以參考下
    2019-12-12
  • 20分鐘MySQL基礎(chǔ)入門

    20分鐘MySQL基礎(chǔ)入門

    這篇文章主要為大家分享了20分鐘MySQL基礎(chǔ)入門教程,快速掌握MySQL基礎(chǔ)知識,真正了解MySQL,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Linux下安裝MySQL8.0.11的教程

    Linux下安裝MySQL8.0.11的教程

    這篇文章主要介紹了Linux下安裝MySQL8.0.11的教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12

最新評論