like 模糊查询

摘要:
示例:查询用户名包含“Wang”值的用户信息,如下所示:12QueryWrapperwrapper=newQueryWrapper();包装。喜欢;//等效SQL语句:namelike“%Wang%”notLike12notLikenotLike参数描述:column:用于条件筛选的数据库表列的名称,例如:nameval:用于指定数据表列的值,条件将根据值条件进行筛选:用于指定当前条件是否有效;如果为真,则应用当前条件;如果为false,则忽略当前条件。

本章节将介绍 like、notLike、likeRight、likeLeft 条件,

like(完全模糊,即“like '%val%'”)

1
2
like(R column, Object val)
like(boolean condition, R column, Object val)

参数说明:

  • column:要用于条件筛选的数据库表列名称,如:name

  • val:用于指定数据表列的值,条件将根据该值进行筛选

  • condition:用于指定当前这个条件是否有效;如果为 true,则应用当前条件;如果为 false,则忽略当前条件。

实例:查询用户名称中包含“王”值的用户信息,如下:

1
2
QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
wrapper.like("name""王"); // 等价 SQL 语句:name like '%王%'

notLike(完全模糊取非,即“not like '%val%'”)

1
2
notLike(R column, Object val)
notLike(boolean condition, R column, Object val)

参数说明:

  • column:要用于条件筛选的数据库表列名称,如:name

  • val:用于指定数据表列的值,条件将根据该值进行筛选

  • condition:用于指定当前这个条件是否有效;如果为 true,则应用当前条件;如果为 false,则忽略当前条件。

实例:查询用户包含“王”值的用户信息,如下:

1
2
QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
wrapper.notLike("name""王"); // 等价 SQL 语句:name not like '%王%'

likeLeft(仅左边模糊,即“like '%val'”)

1
2
likeLeft(R column, Object val)
likeLeft(boolean condition, R column, Object val)

参数说明:

  • column:要用于条件筛选的数据库表列名称,如:name

  • val:用于指定数据表列的值,条件将根据该值进行筛选

  • condition:用于指定当前这个条件是否有效;如果为 true,则应用当前条件;如果为 false,则忽略当前条件。

实例:查询用户名以“王”值结束的用户信息列表,如下:

1
2
QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
wrapper.likeLeft("name""王"); // 等价 SQL 语句:name like '%王'

likeRight(仅右边模糊,即“like 'val%'”)

1
2
likeRight(R column, Object val)
wrapper.likeRight(boolean condition, R column, Object val)

参数说明:

  • column:要用于条件筛选的数据库表列名称,如:name

  • val:用于指定数据表列的值,条件将根据该值进行筛选

  • condition:用于指定当前这个条件是否有效;如果为 true,则应用当前条件;如果为 false,则忽略当前条件。

实例:查询用户名以“王”值开始的用户信息列表,如下:

1
2
QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
likeRight("name""王"); // 等价 SQL 语句:name like '王%'

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package com.hxstrive.mybatis_plus.simple_mapper.condition;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.hxstrive.mybatis_plus.mapper.SimpleMapper;
import com.hxstrive.mybatis_plus.model.UserBean;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
 
@RunWith(SpringRunner.class)
@SpringBootTest
class Condition7Test {
 
    @Autowired
    private SimpleMapper simpleMapper;
 
    @Test
    void contextLoads() {
        System.out.println("================== 分割线 (like '%佳%') ===================");
        QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
        wrapper.like("name""佳");
        List<UserBean> userBeanList = simpleMapper.selectList(wrapper);
        for(UserBean userBean : userBeanList) {
            System.out.println(userBean);
        }
 
        System.out.println("================== 分割线 (not like '%佳%') ===================");
        wrapper = new QueryWrapper<>();
        wrapper.notLike("name""佳");
        userBeanList = simpleMapper.selectList(wrapper);
        System.out.println("result size=" + userBeanList.size());
        for(int i = 0; i < (userBeanList.size() > 10 10 : userBeanList.size()); i++) {
            System.out.println(userBeanList.get(i));
        }
 
        System.out.println("================== 分割线 (like '黄%') ===================");
        wrapper = new QueryWrapper<>();
        wrapper.likeRight("name""黄");
        userBeanList = simpleMapper.selectList(wrapper);
        for(UserBean userBean : userBeanList) {
            System.out.println(userBean);
        }
 
        System.out.println("================== 分割线 (like '%佳') ===================");
        wrapper = new QueryWrapper<>();
        wrapper.likeLeft("name""佳");
        userBeanList = simpleMapper.selectList(wrapper);
        for(UserBean userBean : userBeanList) {
            System.out.println(userBean);
        }
    }
 
}

运行上面程序,将执行如下 SQL 代码:

1
2
3
4
5
6
7
8
Preparing: SELECT user_id,name,sex,age,face,salary,borthday FROM user WHERE (name LIKE ?)
Parameters: %佳%(String)
Preparing: SELECT user_id,name,sex,age,face,salary,borthday FROM user WHERE (name NOT LIKE ?)
Parameters: %佳%(String)
Preparing: SELECT user_id,name,sex,age,face,salary,borthday FROM user WHERE (name LIKE ?)
Parameters: 黄%(String)
Preparing: SELECT user_id,name,sex,age,face,salary,borthday FROM user WHERE (name LIKE ?)
Parameters: %佳(String)

本文转摘: https://www.hxstrive.com/subject/mybatis_plus.htm?id=292

免责声明:文章转载自《like 模糊查询》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇解决Mac上配置JAVA环境时找不到profile的问题ElasticSearch(八):springboot集成ElasticSearch集群并使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

GPU与CPU

GPU和CPU CPU,也称为中央处理单元,主要由控制器、运算单元、寄存器、高速缓冲区和数据/控制/状态总线组成。GPU GPU称为GraphicsProcessingUnit,即图形处理器。GPU最初是为终端游戏设计的。由于对游戏中的大量数据重复相同的操作,GPU面临着类型高度统一、相互依赖的大规模数据。GPU的内核远多于CPU。它向多个内核发送相同的指令...

凤凰系统(Phoenix OS)PC版安装,电脑上体验功能丰富的安卓系统

Tid=9074&fid=12安装前准备下载最新的PhoenixOSIO安装映像,并将其刻录到USB闪存驱动器;如果使用Windows操作系统,建议使用UltraISO刻录。下载地址:http://www.phoenixos.com/download_x86开始安装。1.重新启动机器,从启动选项中选择USB闪存磁盘启动,然后选择“Installati...

浅谈 SQL 注入(注入篇)

1、 SQL注入1.1简介什么是SQL注入?它不过滤用户可以严格控制或没有限制的参数,以便用户可以将传入的参数和SQL语句组合成SQL语句,然后将其传输到web服务器。最后,它被传输到数据库以执行添加、删除、修改和查询等操作。基于此,用户可以获取数据库数据或提高其销毁数据库数据的权限。...

axios 学习文档

Axios是一个基于承诺的HTTP库,可以在浏览器和node.js中使用。执行POST请求axis.POST.then。接住执行多个并发请求函数getUserAccount(){returnaxios.get;}函数getUserPermissions(){returnaxios.get;}全部承诺。然后axios API可以通过传递相关配置来请求axios...

DB2字符函数简介及使用

Param2可以是编码单元16-16位UTF-16编码,也就是说,字符串表示为16位UTF-18编码字符串。Codeunits32-32位UTF-32编码,即字符串表示为32位UTF 32编码字符串。请注意,定义为FORBITDATA的字符串不能转换为图形字符。如果length<length,则来自的原始字符串短于结果中的长度。...