最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot+MyBatis Plus實(shí)現(xiàn)update_time字段自動(dòng)更新詳解

 更新時(shí)間:2025年07月25日 10:03:20   作者:奇妙智能  
在 Spring Boot + MyBatis Plus 中實(shí)現(xiàn) update_time 字段自動(dòng)更新,可通過 ??MyBatis Plus 的自動(dòng)填充(Auto Fill)功能?? 完成,下面小編就來和大家詳細(xì)介紹一下吧

在 Spring Boot + MyBatis Plus 中實(shí)現(xiàn) update_time 字段自動(dòng)更新,可通過 ??MyBatis Plus 的自動(dòng)填充(Auto Fill)功能?? 完成。以下是詳細(xì)步驟:

??步驟 1:添加依賴(若未添加)??

確保項(xiàng)目中已引入 MyBatis Plus 核心依賴(Spring Boot 項(xiàng)目通常已集成):

<!-- pom.xml -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version> <!-- 推薦 3.3.0+ 版本 -->
</dependency>

??步驟 2:實(shí)體類配置??

在需要自動(dòng)更新的 update_time 字段上添加 @TableField 注解,并指定填充策略為 FieldFill.UPDATE。

示例實(shí)體類:

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;

@TableName("your_table") // 對應(yīng)數(shù)據(jù)庫表名
public class YourEntity {

    // 其他字段...

    /**
     * 更新時(shí)間(自動(dòng)填充)
     */
    @TableField(fill = FieldFill.UPDATE) // 關(guān)鍵注解:更新時(shí)自動(dòng)填充
    private LocalDateTime updateTime; 
}

FieldFill.UPDATE:表示該字段僅在 ??更新操作?? 時(shí)自動(dòng)填充。

若需 ??插入和更新時(shí)都填充??,可使用 FieldFill.INSERT_UPDATE。

??步驟 3:實(shí)現(xiàn)元對象處理器(MetaObjectHandler)??

創(chuàng)建一個(gè)類實(shí)現(xiàn) MetaObjectHandler 接口,重寫 updateFill 方法,定義更新時(shí)的填充邏輯(如設(shè)置當(dāng)前時(shí)間)。

示例代碼:

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;

@Component // 必須注冊為 Bean
public class MyMetaObjectHandler implements MetaObjectHandler {

    /**
     * 更新時(shí)自動(dòng)填充(覆蓋 updateFill 方法)
     */
    @Override
    public void updateFill(MetaObject metaObject) {
        // 設(shè)置 update_time 為當(dāng)前時(shí)間(無需手動(dòng)調(diào)用,MP 自動(dòng)處理)
        this.strictInsertFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); 
        // 或使用更靈活的非嚴(yán)格模式(推薦,避免字段不存在時(shí)報(bào)錯(cuò))
        // this.fillStrategy(metaObject, "updateTime", LocalDateTime.now());
    }
}

??strictInsertFill??:嚴(yán)格模式,僅當(dāng)字段存在且值為 null 時(shí)填充(可能拋異常,謹(jǐn)慎使用)。

??fillStrategy??:非嚴(yán)格模式,直接填充(推薦,兼容性更好)。

??步驟 4:驗(yàn)證自動(dòng)填充效果??

使用 MyBatis Plus 提供的更新方法(如 updateById、update),??無需手動(dòng)設(shè)置 updateTime??,MP 會(huì)自動(dòng)填充當(dāng)前時(shí)間。

示例更新操作:

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

@Service
public class YourServiceImpl extends ServiceImpl<YourMapper, YourEntity> implements YourService {

    @Override
    public boolean updateEntity(YourEntity entity) {
        // 只需設(shè)置需要更新的字段(如 name),updateTime 會(huì)自動(dòng)填充
        entity.setName("新名稱"); 
        
        // 調(diào)用 MP 的更新方法(基于主鍵更新)
        return this.updateById(entity); 
    }
}

??注意事項(xiàng)??

1.??數(shù)據(jù)庫字段類型??:確保數(shù)據(jù)庫中 update_time 字段類型與 Java 類型匹配(如 datetime、timestampbigint 存儲時(shí)間戳)。

  • 若使用 LocalDateTime,數(shù)據(jù)庫建議用 datetime(MySQL 5.6.5+ 支持)或 timestamp。
  • 若需兼容舊版 MySQL(5.6 以下),可改用 bigint 存儲時(shí)間戳(毫秒級),并在填充時(shí)使用 System.currentTimeMillis()。

2.??自定義 SQL 場景??:若使用自定義 SQL(如 XML 或 @Update 注解),需手動(dòng)在 SQL 中添加 update_time = NOW()(或通過 MP 自動(dòng)填充)。

示例(XML 自定義更新):

<update id="customUpdate">
    UPDATE your_table 
    SET name = #{name}, update_time = NOW()  <!-- 手動(dòng)添加 -->
    WHERE id = #{id}
</update>

3.??時(shí)區(qū)問題??:若服務(wù)器時(shí)區(qū)與業(yè)務(wù)時(shí)區(qū)不一致,需統(tǒng)一時(shí)區(qū)配置(如 application.yml 中設(shè)置 spring.jackson.time-zone=Asia/Shanghai)。

??總結(jié)??

通過 MyBatis Plus 的 @TableField(fill = FieldFill.UPDATE) 注解和 MetaObjectHandler 元對象處理器,可輕松實(shí)現(xiàn) update_time 字段的自動(dòng)更新,無需手動(dòng)干預(yù)。核心是??注解標(biāo)記字段?? + ??處理器定義填充邏輯?? + ??使用 MP 內(nèi)置更新方法??。

到此這篇關(guān)于SpringBoot+MyBatis Plus實(shí)現(xiàn)update_time字段自動(dòng)更新詳解的文章就介紹到這了,更多相關(guān)SpringBoot MyBatis Plus字段更新內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java源碼解析之詳解ReentrantLock

    Java源碼解析之詳解ReentrantLock

    今天給大家?guī)淼氖顷P(guān)于Java并發(fā)的相關(guān)知識,文章圍繞著ReentrantLock源碼展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Maven如何手動(dòng)安裝依賴到本地倉庫

    Maven如何手動(dòng)安裝依賴到本地倉庫

    這篇文章主要介紹了Maven如何手動(dòng)安裝依賴到本地倉庫問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Hutool開發(fā)利器MapProxy類使用技巧詳解

    Hutool開發(fā)利器MapProxy類使用技巧詳解

    這篇文章主要為大家介紹了Hutool開發(fā)利器MapProxy類使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Java二維數(shù)組與動(dòng)態(tài)數(shù)組ArrayList類詳解

    Java二維數(shù)組與動(dòng)態(tài)數(shù)組ArrayList類詳解

    這篇文章主要給大家介紹了關(guān)于Java二維數(shù)組與動(dòng)態(tài)數(shù)組ArrayList類的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • java實(shí)現(xiàn)猜數(shù)字游戲

    java實(shí)現(xiàn)猜數(shù)字游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • Java實(shí)現(xiàn)SM3加密和驗(yàn)證的示例代碼

    Java實(shí)現(xiàn)SM3加密和驗(yàn)證的示例代碼

    在商用密碼體系中,SM3主要用于數(shù)字簽名及驗(yàn)證、消息認(rèn)證碼生成及驗(yàn)證、隨機(jī)數(shù)生成等,其算法公開,本文給大家詳細(xì)介紹了使用Java實(shí)現(xiàn)SM3加密和驗(yàn)證,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • springboot注入servlet的方法

    springboot注入servlet的方法

    本篇文章主要介紹了springboot注入servlet的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • java 實(shí)現(xiàn)簡單圣誕樹的示例代碼(圣誕節(jié)快樂)

    java 實(shí)現(xiàn)簡單圣誕樹的示例代碼(圣誕節(jié)快樂)

    這篇文章主要介紹了java 實(shí)現(xiàn)簡單圣誕樹的示例代碼(圣誕節(jié)快樂),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java實(shí)現(xiàn)求小于n的質(zhì)數(shù)的3種方法

    Java實(shí)現(xiàn)求小于n的質(zhì)數(shù)的3種方法

    這篇文章主要介紹了Java實(shí)現(xiàn)求小于n的質(zhì)數(shù)的3種方法,本文給出了根據(jù)定義去求解、平方根、找規(guī)律三種解法,需要的朋友可以參考下
    2015-03-03
  • Mybatis?List列表In查詢實(shí)現(xiàn)的注意事項(xiàng)說明

    Mybatis?List列表In查詢實(shí)現(xiàn)的注意事項(xiàng)說明

    這篇文章主要介紹了Mybatis?List列表In查詢實(shí)現(xiàn)的注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02

最新評論

虹口区| 昆山市| 瑞丽市| 城固县| 临潭县| 繁昌县| 博兴县| 股票| 六安市| 苍溪县| 萨嘎县| 青阳县| 千阳县| 思茅市| 读书| 普洱| 绥阳县| 新蔡县| 牙克石市| 韶山市| 吉木乃县| 长治市| 绥江县| 靖安县| 灌阳县| 遵化市| 临洮县| 保定市| 老河口市| 同江市| 武山县| 新兴县| 双柏县| 巴林左旗| 长汀县| 辽宁省| 屏东市| 调兵山市| 临邑县| 治县。| 墨竹工卡县|