LambdaQueryWrapper 区分大小写查询
时间: 2023-10-12 07:10:18 浏览: 115
LambdaQueryWrapper 在查询时默认是不区分大小写的,也就是说,不论你输入的是小写还是大写,都会被当作同一个词来进行查询。如果你需要区分大小写查询,可以使用 `likeBinary()` 方法,该方法会将查询语句转换为二进制比较,从而实现大小写的区分。例如:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.likeBinary(User::getName, "Tom");
```
这样就会查询出名字为 "Tom" 的用户,而不会查询出名字为 "tom" 或 "TOM" 的用户。需要注意的是,`likeBinary()` 方法只对字符串类型的字段生效。
相关问题
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查询时,可以通过设置QueryWrapper的方法ignoreQuotation(true)来设置区分数据库字段的大小写。ignoreQuotation(true)方法会取消对字段值的双引号引用。这样,就可以实现大小写敏感的查询。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* *2* [mybatisplus使用lambdaqQueryWrapper查询postgresql的数据库字段大小写敏感问题的一种简单解决思路](https://blog.csdn.net/qq_46093826/article/details/127888203)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]