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

mybatis-plus實現(xiàn)邏輯刪除的示例代碼

 更新時間:2023年05月29日 09:46:01   作者:Bruce1801  
本文主要介紹了mybatis-plus實現(xiàn)邏輯刪除的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

什么是邏輯刪除?

邏輯刪除的本質(zhì)是修改操作,并不是真正的刪除,而是在表中將對應(yīng)的是否刪除標(biāo)識(delete_flag)做修改操作。比如0是未刪除,1是刪除。在邏輯上數(shù)據(jù)是被刪除的,但數(shù)據(jù)本身依然存在庫中。
邏輯刪除sql語句為:

update user set deleted=1 where id = 1 and deleted=0

這種設(shè)計,后端每次向數(shù)據(jù)庫查詢數(shù)據(jù)時,只查deleted=0(未刪除)的數(shù)據(jù)。拿上面sql舉例,那么客戶端進(jìn)行查詢id為1的信息,服務(wù)器就不會提供信息。
查詢sql為:

select id,name,deleted from user where deleted=0

為什么用到邏輯刪除?

比如:在一家銷售公司中,有兩個員工在一月份離職了,后臺管理人員在辦離職時,如果直接將數(shù)據(jù)庫中與這兩個員工相關(guān)的信息刪除了,那么當(dāng)經(jīng)理想要看一月份的銷售記錄的時候,只能看到部分銷售記錄,銷售金額對不上。這種情況肯定是不允許發(fā)生的

如下圖:

本來一月總共銷售了17,000,00元,結(jié)果刪除后只剩下了5,000,00。

只需要在員工工號后面加delete_flag字段,用于標(biāo)記是否被刪除即可。

在springboot使用Mybatis-Plus提供的邏輯刪除

字段類型支持說明:

支持所有數(shù)據(jù)類型(推薦使用 Integer,Boolean,LocalDateTime)
如果數(shù)據(jù)庫字段使用datetime,邏輯未刪除值和已刪除值支持配置為字符串null,另一個值支持配置為函數(shù)來獲取值如now()

1、在application.yml配置

mybatis-plus:
  global-config:
    db-config:
      logic-delete-field: flag # 全局邏輯刪除的實體字段名(since 3.3.0,配置后可以忽略不配置步驟2)
      logic-delete-value: 1 # 邏輯已刪除值(默認(rèn)為 1)
      logic-not-delete-value: 0 # 邏輯未刪除值(默認(rèn)為 0)

2、 實體類字段上加上@TableLogic注解

@Data
public class UserPO implements Serializable {
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    private String userName;
    private String password;
    private String nickName;
    @TableLogic
    private int delFlag;
}

演示

數(shù)據(jù)庫t_user表中數(shù)據(jù):

UserPOMapper:

@Mapper
public interface UserPOMapper extends BaseMapper<UserPO> {
}

IUserService:

public interface IUserService extends IService<UserPO> {
}

IUserServiceImpl:

@Service
public class IUserServiceImpl extends ServiceImpl<UserPOMapper, UserPO> implements IUserService {
}

Controller:

 @RequestMapping("/open/del")
    public ResultUtil del(UserParam userParam){
        UserPO one = iUserService.getOne(new LambdaQueryWrapper<UserPO>()
                .eq(UserPO::getUserName, userParam.getUserName()));
        boolean b = iUserService.removeById(one);
        System.out.println(b);
        return ResultUtil.success(b);
    }

ResultUtil:

@Data
public class ResultUtil {
    private String code;
    private String message;
    private  Object data;
    public static  ResultUtil success(Object data){
        ResultUtil resultUtil = new ResultUtil();
        resultUtil.setCode("200");
        resultUtil.setMessage("請求成功");
        resultUtil.setData(data);
        return resultUtil;
    }
}

瀏覽器請求:

數(shù)據(jù)庫t_user表中數(shù)據(jù):
可以看到,加了@TableLogic注解的字段對應(yīng)的數(shù)據(jù)庫字段,由0(未刪除)改為1(已刪除)

到此這篇關(guān)于mybatis-plus實現(xiàn)邏輯刪除的示例代碼的文章就介紹到這了,更多相關(guān)mybatis-plus 邏輯刪除內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java設(shè)計模式中的外觀模式詳解

    Java設(shè)計模式中的外觀模式詳解

    這篇文章主要介紹了Java設(shè)計模式中的外觀模式詳解,外觀模式也叫“過程模式,外觀模式為子系統(tǒng)中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用
    2022-07-07
  • Java List移除相應(yīng)元素的超簡潔寫法分享

    Java List移除相應(yīng)元素的超簡潔寫法分享

    這篇文章主要介紹了Java List移除相應(yīng)元素的超簡潔寫法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 基于SpringBoot啟動類靜態(tài)資源路徑問題

    基于SpringBoot啟動類靜態(tài)資源路徑問題

    這篇文章主要介紹了SpringBoot啟動類靜態(tài)資源路徑問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 詳解spring boot配置 ssl

    詳解spring boot配置 ssl

    本篇文章主要介紹了詳解spring boot配置 ssl,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Java加密 消息摘要算法MAC實現(xiàn)詳解

    Java加密 消息摘要算法MAC實現(xiàn)詳解

    這篇文章主要介紹了Java 消息摘要算法MAC實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Java反射中java.beans包學(xué)習(xí)總結(jié)

    Java反射中java.beans包學(xué)習(xí)總結(jié)

    本篇文章通過學(xué)習(xí)Java反射中java.beans包,吧知識點做了總結(jié),并把相關(guān)內(nèi)容做了關(guān)聯(lián),對此有需要的朋友可以學(xué)習(xí)參考下。
    2018-02-02
  • 在Spring-Boot中如何使用@Value注解注入集合類

    在Spring-Boot中如何使用@Value注解注入集合類

    這篇文章主要介紹了在Spring-Boot中如何使用@Value注解注入集合類的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • mybatis-plus id主鍵生成的坑

    mybatis-plus id主鍵生成的坑

    這篇文章主要介紹了mybatis-plus id主鍵生成的坑,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • JVM有哪些組成部分示例詳解(面試必問的Java運行時架構(gòu))

    JVM有哪些組成部分示例詳解(面試必問的Java運行時架構(gòu))

    JVM是Java應(yīng)用程序運行的核心環(huán)境,因此在Java相關(guān)的面試中,JVM相關(guān)的知識是經(jīng)常被考察的重點,下面這篇文章主要介紹了JVM有哪些組成部分,文中通過代碼介紹介紹的非常詳細(xì),需要的朋友可以參考下
    2026-05-05
  • 深入理解Java顯式鎖的相關(guān)知識

    深入理解Java顯式鎖的相關(guān)知識

    今天帶大家學(xué)習(xí)的是關(guān)于Java的相關(guān)知識,文章圍繞著Java顯式鎖展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06

最新評論

白朗县| 喜德县| 顺昌县| 巩留县| 响水县| 岳西县| 夏津县| 奈曼旗| 天柱县| 台山市| 安义县| 吉林市| 黄龙县| 西平县| 且末县| 禄丰县| 大竹县| 洛阳市| 水富县| 榆树市| 万年县| 阿克苏市| 府谷县| 新乡市| 宝坻区| 长丰县| 英德市| 周口市| 南部县| 揭阳市| 健康| 应城市| 莱州市| 抚顺市| 什邡市| 宁远县| 聂荣县| 班戈县| 金寨县| 怀宁县| 金昌市|