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

mybatisPlus實(shí)現(xiàn)邏輯刪除,自動(dòng)生成創(chuàng)建時(shí)間和更新時(shí)間方式

 更新時(shí)間:2024年09月22日 10:40:20   作者:Ys20  
MyBatisPlus框架中,通過(guò)@TableField(fill=FieldFill.INSERT)和@TableField(fill=FieldFill.UPDATE)注解可以實(shí)現(xiàn)在插入和更新時(shí)自動(dòng)填充字段,比如創(chuàng)建時(shí)間和更新時(shí)間,使用@TableLogic注解標(biāo)識(shí)邏輯刪除字段

mybatisPlus邏輯刪除,自動(dòng)生成創(chuàng)建時(shí)間和更新時(shí)間

下面是一個(gè)抽象類,由于這3個(gè)屬性每個(gè)表都要用到,所以用一個(gè)抽象類寫好屬性,被實(shí)體類繼承

@TableField(fill = FieldFill.INSERT)中fill表示填充字段的方式。

FieldFill枚舉類中有三個(gè)值

  • FieldFill.DEFAULT:默認(rèn)不做任何填充;
  • FieldFill.INSERT:插入時(shí)填充字段;
  • FieldFill.UPDATE:更新時(shí)填充字段。

在這里我只用到了插入和更新

@TableLogic是用于標(biāo)識(shí)邏輯刪除的字段。

在刪除時(shí),不會(huì)真正刪除數(shù)據(jù)庫(kù)表中的數(shù)據(jù),而是將其標(biāo)記為已刪除狀態(tài)。

package com.abc.booksys.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;

import java.util.Date;

public abstract class ValueObject {

    //   圖書創(chuàng)建時(shí)間  (執(zhí)行MP的自動(dòng)FILL操作,當(dāng)增加記錄的時(shí)候)
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    //   圖書修改時(shí)間
    @TableField(fill=FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @TableLogic
    private int isDeleted;
}

MyMetaObjectHandler.java

package com.abc.booksys.utils;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;

@Slf4j
@Component   //自定義一個(gè)MetaObjectHandler的實(shí)現(xiàn)類,注入到容器中,就會(huì)被MP自動(dòng)識(shí)別,并使用
public class MyMetaObjectHandler implements MetaObjectHandler {

    @Override
    public void insertFill(MetaObject metaObject) {
        log.info("start insert fill ....");
        metaObject.setValue("createTime", new Date());
        metaObject.setValue("updateTime", new Date());
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        log.info("start update fill ....");
        metaObject.setValue("updateTime", new Date());
    }

}

實(shí)體類

package com.abc.booksys.domain;


import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.abc.booksys.domain.ValueObject;
@Data
@NoArgsConstructor
@TableName("tbl_book")
public class Book extends ValueObject{
    @TableId("isbn")
    private String isbn;
    private String name;
    private double price;
}

yml文件

#mybatis-plus配置
mybatis-plus: 
    #邏輯刪除
  global-config:
    db-config:
      logic-delete-field: is_deleted
      logic-delete-value: 1
      logic-not-delete-value: 0

其中:

logic-delete-field用于綁定邏輯刪除的數(shù)據(jù)庫(kù)中的字段屬性

  • logic-delete-value:表示已刪除的值
  • logic-not-delete-value:表示存在的值

總結(jié)

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

相關(guān)文章

  • eclipse 中的javac命令與java命令

    eclipse 中的javac命令與java命令

    這篇文章主要介紹了eclipse javac命令與java命令的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • MyBatis 管理和查找TypeHandler的方法

    MyBatis 管理和查找TypeHandler的方法

    MyBatis通過(guò)TypeHandlerRegistry組件集中管理和查找TypeHandler,TypeHandler用于處理Java類型和JDBC類型之間的轉(zhuǎn)換,本文介紹MyBatis 管理和查找TypeHandler的方法,感興趣的朋友一起看看吧
    2025-03-03
  • 聊聊java變量的初始化之后的默認(rèn)值

    聊聊java變量的初始化之后的默認(rèn)值

    這篇文章主要介紹了聊聊java變量的初始化之后的默認(rèn)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • spring-@Autowired注入與構(gòu)造函數(shù)注入使用方式

    spring-@Autowired注入與構(gòu)造函數(shù)注入使用方式

    這篇文章主要介紹了spring-@Autowired注入與構(gòu)造函數(shù)注入使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 流式圖表拒絕增刪改查之框架搭建過(guò)程

    流式圖表拒絕增刪改查之框架搭建過(guò)程

    這篇文章主要為大家介紹了流式圖表拒絕增刪改查之框架搭建過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • SpringBoot實(shí)現(xiàn)發(fā)送QQ郵件的示例代碼

    SpringBoot實(shí)現(xiàn)發(fā)送QQ郵件的示例代碼

    這篇文章主要介紹了SpringBoot如何實(shí)現(xiàn)發(fā)送QQ郵件功能,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • Java注解處理器簡(jiǎn)單實(shí)例

    Java注解處理器簡(jiǎn)單實(shí)例

    這篇文章主要介紹了Java注解處理器簡(jiǎn)單實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • HashMap和HashTable底層原理以及常見(jiàn)面試題

    HashMap和HashTable底層原理以及常見(jiàn)面試題

    今天小編就為大家分享一篇關(guān)于HashMap和HashTable底層原理以及常見(jiàn)面試題,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Windows環(huán)境使用bat腳本啟動(dòng)Java服務(wù)的過(guò)程

    Windows環(huán)境使用bat腳本啟動(dòng)Java服務(wù)的過(guò)程

    Java項(xiàng)目一般會(huì)被打包成jar后啟動(dòng),在windows系統(tǒng)中可以通過(guò)終端窗口cmd啟動(dòng)jar包,即在jar包所在的目錄中打開cmd,或在cmd中進(jìn)入到j(luò)ar包目錄,這篇文章主要介紹了Windows環(huán)境使用bat腳本啟動(dòng)Java服務(wù),需要的朋友可以參考下
    2023-08-08
  • 淺談Java引用和Threadlocal的那些事

    淺談Java引用和Threadlocal的那些事

    這篇文章主要介紹了Java引用和Threadlocal的那些事,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03

最新評(píng)論