LambdaQueryWrapper 查询如何忽略大小写
时间: 2023-12-22 16:29:29 浏览: 128
LambdaQueryWrapper 查询可以通过设置条件构造器的`ignoreCase`方法来忽略大小写。具体操作如下:
```java
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
// 创建LambdaQueryWrapper对象
LambdaQueryWrapper<Entity> queryWrapper = new LambdaQueryWrapper<>();
// 设置ignoreCase为true,表示忽略大小写
queryWrapper.ignoreCase(true);
// 添加查询条件
queryWrapper.eq(Entity::getField, value);
// 执行查询操作
List<Entity> result = entityMapper.selectList(queryWrapper);
```
在上述代码中,`Entity`是你的实体类,`getField`是你要查询的字段,`value`是你要匹配的值。通过设置`ignoreCase(true)`,可以实现忽略大小写的查询。
相关问题
LambdaQueryWrapper 忽略大小写查询
LambdaQueryWrapper 可以通过 `eq()` 方法来实现忽略大小写查询,具体实现方式如下:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getName, "john").or().eq(User::getEmail, "JOHN@EXAMPLE.COM").ignoreCase();
List<User> userList = userMapper.selectList(wrapper);
```
在上述代码中,`ignoreCase()` 方法可以忽略大小写,将 `getName()` 和 `getEmail()` 的查询条件都转化为小写,然后进行查询。这样就可以实现忽略大小写查询了。
LambdaQueryWrapper 区分大小写查询
LambdaQueryWrapper 在查询时默认是不区分大小写的,也就是说,不论你输入的是小写还是大写,都会被当作同一个词来进行查询。如果你需要区分大小写查询,可以使用 `likeBinary()` 方法,该方法会将查询语句转换为二进制比较,从而实现大小写的区分。例如:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.likeBinary(User::getName, "Tom");
```
这样就会查询出名字为 "Tom" 的用户,而不会查询出名字为 "tom" 或 "TOM" 的用户。需要注意的是,`likeBinary()` 方法只对字符串类型的字段生效。