首页 > 其他分享 >MybatisPlus 模糊查询数组中的所有字符串

MybatisPlus 模糊查询数组中的所有字符串

时间:2023-04-27 10:15:54浏览次数:43  
标签:MybatisPlus like qw 查询 pidList sbbh 数组 扬声器 字符串

 

List<IcvDevice> deviceList = icvDeviceMapper.selectList(Wrappers.<IcvDevice>query()
                                .or(qw -> pidList.forEach(sbbh -> qw.like("sbbh", sbbh)))
                                .eq("sssblx", "防水号角扬声器"));

 

这段代码使用了MyBatis-Plus的链式查询(wrapper)和Lambda表达式语法,实现了根据一组设备编号(pidList)进行模糊查询的功能,并且筛选设备类型为“防水号角扬声器”的设备列表。

具体解释如下:

- `icvDeviceMapper`是一个MyBatis的Mapper接口,用于操作IcvDevice实体类对应的数据表。
- `Wrappers.<IcvDevice>query()`方法返回一个空的Wrapper对象,表示我们要查询IcvDevice实体类对应的表。
- `or(qw -> pidList.forEach(sbbh -> qw.like("sbbh", sbbh)))`表示使用or关键字,将多个like条件合并为一个条件,该条件使用Lambda表达式进行定义,其中qw是一个Lambda表达式参数,表示当前的查询条件,pidList是一个设备编号的列表,通过`forEach`方法遍历pidList,将每个设备编号进行模糊查询,添加到查询条件中,最终得到一个类似于:`sbbh like '%xxx%' or sbbh like '%yyy%' or ...`的查询条件。
- `eq("sssblx", "防水号角扬声器")`表示增加一个设备类型为“防水号角扬声器”的等值查询条件,该条件使用eq方法进行定义,其中“sssblx”是IcvDevice实体类对应的数据表中的字段名,后面的“防水号角扬声器”是要查询的设备类型。

最终,这段代码查询出来的结果是一个IcvDevice实体类的List,里面包含了所有符合上述查询条件的设备记录。

标签:MybatisPlus,like,qw,查询,pidList,sbbh,数组,扬声器,字符串
From: https://www.cnblogs.com/onecyl/p/17358122.html

相关文章

  • 【剑指 Offer】38. 字符串的排列
    【题目】输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例:输入:s="abc"输出:["abc","acb","bac","bca","cab","cba"]来源:力扣(LeetCode)链接:https://leetcode.cn/problems/zi-fu-chuan-de-pai-lie-......
  • 字符串补充
    1、startswith(是否以某个东西开头)/endswith(是否以某个东西结尾)#判断是都是al开头#方式一:name="alxe"#第一种方法val=name[0:2]ifval=="al": print('是以"al"开头')else:print('不是以"al开头"')#方式二:name="alxe"......
  • JavaScript获取两个数组的差集
    constarra=['a','b','c','d','e'];constarrb=['b','e'];console.log("some:"+arra.filter(v=>!arrb.some((item)=>item===v)));console.log("find:&quo......
  • php 二维数组重组成父与子关系
    functionbuildTree(array$flat,$pidKey='pid',$idKey='id',$childrenKey='children'){$grouped=[];foreach($flatas$sub){$grouped[$sub[$pidKey]][]=$sub;}$fnBuilder......
  • 判断值是否在数组内
    法一:利用indexOf不存在返回-1,存在返回第一次出现的索引//js检查数组中是否包含某个元素//法一indexOfvararr=[100,20,50,58,6,69,36,45,78,66,45]if(arr.indexOf(66)==-1){console.log("不存在")}else{console.log("存在,索引是:",arr.ind......
  • 将数组改写成树结构
    首先创建了一个空的根节点root,并将它的名称设置为空字符串,它的子节点数组设置为空数组。然后遍历整个数组,对于每个元素,在树形结构中创建对应的节点。遍历每个元素的名称,并通过比较父节点和子节点的名称来连接它们。如果节点不存在,则创建一个新节点并将它添加到父节点的子节点数组......
  • 2022-04-26:给定一个数组componets,长度为A, componets[i] = j,代表i类型的任务需要耗时j
    2022-04-26:给定一个数组componets,长度为A,componets[i]=j,代表i类型的任务需要耗时j给定一个二维数组orders,长度为M,orders[i][0]代表i号订单下单时间orders[i][1]代表i号订单是哪种类型的任务,毫无疑问orders[i][1]<A一开始所有流水线都在0时刻待命,给定一个正数nums,表示流水......
  • leetcode-350-两个数组的交集 II 题解
    题目给定两个数组,编写一个函数来计算它们的交集。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2,2]示例2:输入:nums1=[4,9,5],nums2=[9,4,9,8,4]输出:[4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。我们可以不考虑输出结果......
  • Sql 给表中插入有规律的字符串
    需求:表中生成有规律的字符A001 001 ............A001 002 ..............A001 060 .................A002 001.............A002 002.............A002 060 ........................A020 001.............A020 002.........A020 060 ..........
  • #yyds干货盘点# LeetCode面试题:合并两个有序数组
    1.简述:给你两个按非递减顺序排列的整数数组 nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1......