mybatis-plus LambdaQueryWrapper的in查询忽略大小写但不改动配置怎么实现
时间: 2024-10-22 08:25:35 浏览: 216
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的基础配置,它只适用于你的特定查询场景。
阅读全文