首页 > 编程语言 >Java开发学习(四十七)----MyBatisPlus删除语句之多记录操作

Java开发学习(四十七)----MyBatisPlus删除语句之多记录操作

时间:2022-12-25 23:00:12浏览次数:59  
标签:MyBatisPlus 批量 删除 list 查询 ---- add Java id

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值进行查询。

 

 

标签:MyBatisPlus,批量,删除,list,查询,----,add,Java,id
From: https://www.cnblogs.com/xiaoyh/p/16468206.html

相关文章

  • LongAdder详解以及底层原理分析
    一、原子累加器我们都知道,原子整型可以在线程安全的前提下做到累加功能,而今天介绍的LongAdder具有更好的性能我们先来看原子累加器和原子整型做累加的对比使用:priva......
  • 001 自定义QuerySet
    1、为什么会有自定义QuerySet?       这里举一个我们公司出现的情景,我们公司最新增加了广告投放,因此需要基于广告投放做一个分析,广告投放有5个utm参数,不知道可以自......
  • 考研数学练习题-2022年12月25日
    数量:10......
  • Saga - 微服务中的分布式事务
    问题当我们在开发单体应用时,其实我们对事务(即transaction)的印象并不会很深刻,一方面是大多数工程师所开发的后端应用对一致性的要求并不是很高,很多时候只是封装一层CRUD......
  • 第一节 基础数据的处理
    飞行程序设计软件实践一、坐标点的转换软件工具:风标飞行程序设计-GIS工具包根据机场基准点的经度,选择合适的投影带。6度带投影,经度除以6向上取整得到带号。3度带投影,经......
  • MySQL基础知识,入门必备
    1.MySQL数据库1.概念什么是数据库?数据库说白了就是,仓库。这里有小伙伴要问了。仓库!我知道!俺家就是送快递的,好几个仓库的!这样说的仓库和数据库有神马相同之处,可以类比?就依这......
  • LongAdder类实现原理、源码解析
    1.概述AtomicLong通过循环CAS实现原子操作,缺点是当高并发下竞争比较激烈的时候,会出现大量的CAS失败,导致循环CAS次数大大增加,这种自旋是要消耗时间cpu时间片的,......
  • Cf 730J Bottles
    Cf730JBottles题意:一共有n个瓶子,给出每个瓶子当前的水量和当前的容量。将一瓶水中1ml水转移到别的瓶子上需要1s求在使用最少瓶子数的前提下,转移需要的时间最少。数......
  • Cf 54C First Digit Law
    Cf54CFirstDigitLaw题意:一个数组中有n个数,给出第\(i\)个数的范围\([l_i,r_i]\),定义这n个数中以1开头的数为特殊数,求这n个数中,特殊的数出现的比例至少为k%的概率......
  • 力扣---1991. 找到数组的中间位置
    给你一个下标从0 开始的整数数组 nums ,请你找到最左边 的中间位置 middleIndex (也就是所有可能中间位置下标最小的一个)。中间位置 middleIndex 是满足 nums[0]......