LambdaQueryWrapper 查询如何忽略大小写
时间: 2023-12-22 19:29:29 浏览: 544
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()` 的查询条件都转化为小写,然后进行查询。这样就可以实现忽略大小写查询了。
mybatis-plus LambdaQueryWrapper的in查询忽略大小写但不改动配置怎么实现
MyBatis-Plus的LambdaQueryWrapper提供了一种方便的方式来操作数据库,包括IN查询。如果你想让IN查询对大小写不敏感并且不需要修改全局配置,可以自定义一个工具类或者拦截器。
首先,在工具类中创建一个方法,这个方法接受用户输入的字符串列表,并在插入到IN条件之前将它们转换为小写:
```java
public static List<String> toLowerCaseList(List<String> input) {
return input.stream().map(String::toLowerCase).collect(Collectors.toList());
}
```
然后,在使用`in()`方法时,先通过这个工具类处理值:
```java
List<String> lowerCaseValues = toLowerCaseList(yourInputValues);
queryWrapper.in("yourColumn", lowerCaseValues);
```
这样,即使原始输入包含大写的值,查询时也会使用小写匹配数据库。但请注意,这种方法不会改变MyBatis-Plus的基础配置,它只适用于你的特定查询场景。
阅读全文