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

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

 更新時間:2023年05月29日 09:46:01   作者:Bruce1801  
本文主要介紹了mybatis-plus實(shí)現(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 # 全局邏輯刪除的實(shí)體字段名(since 3.3.0,配置后可以忽略不配置步驟2)
      logic-delete-value: 1 # 邏輯已刪除值(默認(rèn)為 1)
      logic-not-delete-value: 0 # 邏輯未刪除值(默認(rèn)為 0)

2、 實(shí)體類字段上加上@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實(shí)現(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實(shí)現(xiàn)詳解

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

    這篇文章主要介紹了Java 消息摘要算法MAC實(shí)現(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包,吧知識點(diǎn)做了總結(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運(yùn)行時架構(gòu))

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

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

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

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

最新評論

中阳县| 唐山市| 惠来县| 白水县| 海阳市| 岱山县| 黄山市| 昌邑市| 宝山区| 潞城市| 五家渠市| 九龙坡区| 巨野县| 化州市| 三门县| 云林县| 宜兰县| 鹤峰县| 南投市| 成武县| 若尔盖县| 蓝山县| 保德县| 永兴县| 襄垣县| 青神县| 巨鹿县| 宁安市| 茂名市| 马龙县| 门头沟区| 松滋市| 北碚区| 迭部县| 庐江县| 通城县| 紫金县| 沁水县| 清徐县| 保定市| 社会|