Java開發學習(四十七)----MyBatisPlus刪除語句之多記錄操作

1、多記錄操作

先來看下問題:

之前添加了很多商品到購物車,過了幾天發現這些東西又不想要了,該怎麼辦呢?

很簡單刪除掉,但是一個個刪除的話還是比較慢和費事的,所以一般會給用戶一個批量操作,也就是前面有一個複選框,用戶一次可以勾選多個也可以進行全選,然後刪一次就可以將購物車清空,這個就需要用到批量刪除的操作了。

具體該如何實現多條刪除,我們找找對應的API方法

int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);

翻譯方法的字面意思爲:刪除(根據ID 批量刪除),參數是一個集合,可以存放多個id值。

需求:根據傳入的id集合將數據庫表中的數據刪除掉。

@SpringBootTest
class Mybatisplus03DqlApplicationTests {
​
    @Autowired
    private UserDao userDao;
    
    @Test
    void testDelete(){
        //刪除指定多條數據
        List<Long> list = new ArrayList<>();
        list.add(1402551342481838081L);
        list.add(1402553134049501186L);
        list.add(1402553619611430913L);
        userDao.deleteBatchIds(list);
    }
}

執行成功後,數據庫表中的數據就會按照指定的id進行刪除。

除了按照id集合進行批量刪除,也可以按照id集合進行批量查詢,還是先來看下API

List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);

方法名稱翻譯爲:查詢(根據ID 批量查詢),參數是一個集合,可以存放多個id值。

需求:根據傳入的ID集合查詢用戶信息

@SpringBootTest
class Mybatisplus03DqlApplicationTests {
​
    @Autowired
    private UserDao userDao;
    
    @Test
    void testGetByIds(){
        //查詢指定多條數據
        List<Long> list = new ArrayList<>();
        list.add(1L);
        list.add(3L);
        list.add(4L);
        userDao.selectBatchIds(list);
    }
}

查詢結果就會按照指定傳入的id值進行查詢。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章