怎么让LambdaQueryWrapper不区分大小写
时间: 2023-05-23 07:03:12 浏览: 819
您可以调用LambdaQueryWrapper类的lambda方法,使用like、eq等方法时,在字符串条件参数前加上“no”前缀,即可实现不区分大小写的查询,示例代码如下:
```
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<User>()
.like(!StringUtils.isEmpty(keyword), User::getName, "no" + keyword);
List<User> userList = userService.list(wrapper);
```
相关问题
mybatis-plus LambdaQueryWrapper不区分大小写写法
以下是使用mybatis-plus LambdaQueryWrapper进行不区分大小写查询的方法:
```java
LambdaQueryWrapper<NewsEntity> lambdaQuery = Wrappers.lambdaQuery();
lambdaQuery.like(true, NewsEntity::getTitle, entity.getTitle());
```
这段代码中,`like`方法的第一个参数设置为`true`,表示进行不区分大小写的查询,第二个参数指定了要查询的字段,第三个参数是查询的条件。
LambdaQueryWrapper 区分大小写查询
LambdaQueryWrapper 在查询时默认是不区分大小写的,也就是说,不论你输入的是小写还是大写,都会被当作同一个词来进行查询。如果你需要区分大小写查询,可以使用 `likeBinary()` 方法,该方法会将查询语句转换为二进制比较,从而实现大小写的区分。例如:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.likeBinary(User::getName, "Tom");
```
这样就会查询出名字为 "Tom" 的用户,而不会查询出名字为 "tom" 或 "TOM" 的用户。需要注意的是,`likeBinary()` 方法只对字符串类型的字段生效。
阅读全文