mybatisplus----CRUD操作之刪除操作(邏輯刪除)


刪除操作:

基本的刪除操作;

 

    @Test//根據id刪除單個
    void testDeletebyId(){
        userMapper.deleteById("1327089990215172099");
    }
    @Test//根據多個id刪除多個數據
    void testDeletebyArry(){
        userMapper.deleteBatchIds(Arrays.asList(1327089990215172098L,1327089990215172097L));
    }
    @Test//根據map條件刪除
    void testDeletebyMap(){
        HashMap<String,Object> map=new HashMap<>();
        map.put("id",1327089590540029953L);
        userMapper.deleteByMap(map);
    }

 

 

 

我們在工組中會遇到一些問題:邏輯刪除!

 

邏輯刪除

我們先來看一下物理刪除和邏輯刪除的概念:
物理刪除從數據庫中直接移除
邏輯刪除再數據庫中沒有被移除,而是通過一個變量來讓他失效!deleted =0=> deleted =1

實例:管理員可以查看被刪除的記錄!防止數據的丟失,類似於回收站!

 

 

 

測試步驟:

1在數據表中增加一個deleted字段:

 

 

2,在pojo實體類中添加相應的字段:

  @TableLogic//邏輯刪除注解
    private Integer deleted;

 

 3.配置類中添加組件

    @Bean//邏輯刪除組件
    public ISqlInjector sqlInjector(){
        return new LogicSqlInjector();
    }

 

 

 

#配置邏輯刪除
mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0

 

 

 測試刪除之后:

 

 

 

 

當我們執行查詢操作的時候:

 

 

我們的查詢條件都會有deleted=0的判斷,所以被我們邏輯刪除的記錄是不同查詢到的

 

 

 

可以看出其實id為1的記錄並沒有真正的刪除,只是deleted字段修改成了1;

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM