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

MyBatis-Plus中的邏輯刪除使用詳解

 更新時(shí)間:2022年12月12日 10:11:52   作者:心態(tài)還需努力呀  
開發(fā)系統(tǒng)時(shí),有時(shí)候在實(shí)現(xiàn)功能時(shí),刪除操作需要實(shí)現(xiàn)邏輯刪除就是將數(shù)據(jù)標(biāo)記為刪除,而并非真的物理刪除(非DELETE操作),查詢時(shí)需要攜帶狀態(tài)條件,確保被標(biāo)記的數(shù)據(jù)不被查詢到。這樣做的目的就是避免數(shù)據(jù)被真正的刪除

前言

開發(fā)系統(tǒng)時(shí),有時(shí)候在實(shí)現(xiàn)功能時(shí),刪除操作需要實(shí)現(xiàn)邏輯刪除就是將數(shù)據(jù)標(biāo)記為刪除,而并非真的物理刪除(非DELETE操作),查詢時(shí)需要攜帶狀態(tài)條件,確保被標(biāo)記的數(shù)據(jù)不被查詢到。這樣做的目的就是避免數(shù)據(jù)被真正的刪除。

MP就提供了這樣的功能,方便我們使用,接下來我們一起學(xué)習(xí)下~

一、修改表結(jié)構(gòu)

為user表增加deleted字段,用于表示數(shù)據(jù)是否被刪除,1代表刪除,0代表未刪除。sql代碼如下

USE study;
ALTER TABLE user 
ADD COLUMN deleted int(1) NULL DEFAULT 0 COMMENT '1代表刪除,0代表未刪除' AFTER user_status;

添加后的效果圖展示:

二、User實(shí)體中添加屬性

增加deleted屬性并且添加@TableLogic注解

//標(biāo)記字段
    @TableLogic
    private Integer deleted;

三、配置

在application.properties下配置刪除字段的標(biāo)記,默認(rèn)就是刪除為1,未刪除就為0。這個(gè)具體值大家可以修改,按開發(fā)要求即可。要是就是用默認(rèn)值的話其實(shí)不配置下面的代碼也可以執(zhí)行的。

#刪除標(biāo)記為1
mybatis-plus.global-config.db-config.logic-delete-value=1
#未刪除標(biāo)記為0
mybatis-plus.global-config.db-config.logic-not-delete-value=0

四、測(cè)試

編寫測(cè)試類,在測(cè)試類下編寫testDeleteById方法,刪除id為12的用戶信息。刪除成功后查詢表中的數(shù)據(jù)查看是否能查詢到id為12的結(jié)果。

/**
     * 刪除操作
     * */
    //根據(jù)id刪除
    //int deleteById(Serializable id);
    @Test
    public void testDeleteById() {
        int result = this.userMapper.deleteById(12);
        if(result>0){
            testSelectList();
            System.out.println("刪除成功!");
        }else {
            System.out.println("刪除失??!");
        }
    }

效果圖:

1. 查看日志會(huì)發(fā)現(xiàn),第一個(gè)刪除生成的sql代碼其實(shí)是修改,只是將deleted字段等于0的條件下設(shè)置了deleted字段標(biāo)記為1。

2. 查看日志,第二個(gè)查詢的結(jié)果自動(dòng)生成的sql代碼中也自動(dòng)添加了條件為deleted字段等于0。如下如圖所示。

3. 通過查詢輸出的結(jié)果可發(fā)現(xiàn)查不到id為12的數(shù)據(jù)。如下圖所示:

 4. 我們從數(shù)據(jù)庫中查看數(shù)據(jù)表的信息,會(huì)發(fā)現(xiàn)id為12的數(shù)據(jù)deleted字段已經(jīng)被標(biāo)記為1。所以不會(huì)查詢到,但本身的數(shù)據(jù)沒有真正的被刪除(還存在數(shù)據(jù)庫中)。

總結(jié)

在實(shí)際的開發(fā)中也是這樣的,當(dāng)用戶點(diǎn)完刪除數(shù)據(jù)信息后以為刪除掉了,但實(shí)際上沒你們想的那么簡(jiǎn)單。你的數(shù)據(jù)在數(shù)據(jù)庫中不會(huì)輕易的刪除掉的。只是不會(huì)顯示在用戶頁面而已。大多數(shù)的開發(fā)其實(shí)都是這樣,所以說該知識(shí)點(diǎn)也是很重要的。MP簡(jiǎn)化了我們的開發(fā),的確可以體會(huì)到~

這就是邏輯刪除的用法。做一個(gè)項(xiàng)目練練手就會(huì)了,相對(duì)而言比較好掌握。大家加油學(xué)起來~

到此這篇關(guān)于MyBatis-Plus中的邏輯刪除使用的文章就介紹到這了,更多相關(guān)MyBatis-Plus邏輯刪除使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中枚舉的實(shí)現(xiàn)原理介紹

    Java中枚舉的實(shí)現(xiàn)原理介紹

    大家好,本篇文章主要講的是Java中枚舉的實(shí)現(xiàn)原理介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • SpringMVC生成的驗(yàn)證碼圖片不顯示問題及解決方法

    SpringMVC生成的驗(yàn)證碼圖片不顯示問題及解決方法

    這篇文章主要介紹了SpringMVC生成的驗(yàn)證碼圖片不顯示問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 一篇文章帶你深入了解Java線程池

    一篇文章帶你深入了解Java線程池

    這篇文章主要介紹了Java 線程池的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下,希望能給你帶來幫助
    2021-08-08
  • Java適配器模式的實(shí)現(xiàn)及應(yīng)用場(chǎng)景

    Java適配器模式的實(shí)現(xiàn)及應(yīng)用場(chǎng)景

    適配器模式是Java中一種常用的設(shè)計(jì)模式,它通過將一個(gè)類的接口轉(zhuǎn)換成客戶端所期望的另一種接口來實(shí)現(xiàn)不同接口之間的兼容性。適配器模式主要應(yīng)用于系統(tǒng)的接口不兼容、需要擴(kuò)展接口功能以及需要適應(yīng)不同環(huán)境的場(chǎng)景
    2023-04-04
  • MyBatis-Plus結(jié)合Layui實(shí)現(xiàn)分頁方法

    MyBatis-Plus結(jié)合Layui實(shí)現(xiàn)分頁方法

    MyBatis-Plus 使用簡(jiǎn)單,本文主要介紹使用 service 中的 page 方法結(jié)合 Layui 前端框架實(shí)現(xiàn)分頁效果,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-08-08
  • Spring?Security權(quán)限管理實(shí)現(xiàn)接口動(dòng)態(tài)權(quán)限控制

    Spring?Security權(quán)限管理實(shí)現(xiàn)接口動(dòng)態(tài)權(quán)限控制

    這篇文章主要為大家介紹了Spring?Security權(quán)限管理實(shí)現(xiàn)接口動(dòng)態(tài)權(quán)限控制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Java計(jì)算幾何圖形面積的實(shí)例代碼

    Java計(jì)算幾何圖形面積的實(shí)例代碼

    這篇文章主要介紹了Java計(jì)算幾何圖形面積的實(shí)例代碼,需要的朋友可以參考下
    2014-03-03
  • 使用Spring Cache時(shí)設(shè)置緩存鍵的注意事項(xiàng)詳解

    使用Spring Cache時(shí)設(shè)置緩存鍵的注意事項(xiàng)詳解

    在現(xiàn)代的Web應(yīng)用中,緩存是提高系統(tǒng)性能和響應(yīng)速度的重要手段之一,Spring框架提供了強(qiáng)大的緩存支持,通過??@Cacheable??、??@CachePut??、??@CacheEvict??等注解可以方便地實(shí)現(xiàn)緩存功能,本文給大家介紹了使用Spring Cache時(shí)設(shè)置緩存鍵的注意事項(xiàng)
    2025-01-01
  • 超詳細(xì)解析Spring Bean的創(chuàng)建過程

    超詳細(xì)解析Spring Bean的創(chuàng)建過程

    這篇文章主要揭秘了Spring Bean的創(chuàng)建過程,文中通過代碼示例和圖文結(jié)合的方式解析的超級(jí)詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-05-05
  • Springboot的@Cacheable注解使用方法

    Springboot的@Cacheable注解使用方法

    @Cacheable 是 Spring 框架提供的一種基于緩存的注解,它可以被應(yīng)用在方法上以指示該方法的結(jié)果需要被緩存起來,緩存在哪個(gè) Cache 中以及該方法使用何種緩存鍵,以下代碼展示了如何使用 @Cacheable 注解,感興趣的朋友跟隨小編一起看看吧
    2024-04-04

最新評(píng)論

西林县| 遂平县| 育儿| 武城县| 桦川县| 都江堰市| 遵化市| 台北县| 澜沧| 桑日县| 沙坪坝区| 林州市| 昭苏县| 宝鸡市| 呼和浩特市| 阿巴嘎旗| 平武县| 宁国市| 祁连县| 团风县| 喀喇| 长丰县| 宜黄县| 昌都县| 赤水市| 莒南县| 大方县| 潢川县| 防城港市| 仁寿县| 调兵山市| 商都县| 民丰县| 得荣县| 宣城市| 吐鲁番市| 扶风县| 庆元县| 比如县| 宁国市| 新乐市|