LambdaQueryWrapper用这个写
时间: 2023-11-17 10:03:38 浏览: 63
LambdaQueryWrapper是Mybatis-Plus提供的一个查询构造器,可以通过lambda表达式来构建查询条件。下面是一个使用LambdaQueryWrapper的示例代码:
```java
LambdaQueryWrapper<BannerItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BannerItem::getBannerId, id);
List<BannerItem> bannerItems = bannerItemMapper.selectList(wrapper);```
这段代码的作用是查询BannerItem表中bannerId等于id的记录。其中,LambdaQueryWrapper的eq方法表示等于,BannerItem::getBannerId表示获取BannerItem对象的bannerId属性,id是要查询的值。
相关问题
LambdaQueryWrapper条件分开来写怎写
LambdaQueryWrapper是MyBatis-Plus中的一个查询构造器,可以用于构建复杂的查询条件。如果想要将条件分开来写,可以使用LambdaQueryWrapper的链式调用方式,每次调用一个条件方法,例如eq()、like()等,都会返回一个新的LambdaQueryWrapper对象,可以继续调用其他条件方法。下面是一个LambdaQueryWrapper条件分开来写的示例代码:
```java
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getName, "张三")
.ne(User::getAge, 18)
.between(User::getSalary, 1000, 5000)
.like(User::getEmail, "@gmail.com");
List<User> userList = userService.list(queryWrapper);
```
以上代码中,首先创建了一个LambdaQueryWrapper对象queryWrapper,然后分别调用了eq()、ne()、between()和like()等条件方法,每次调用都返回一个新的LambdaQueryWrapper对象,最后调用了list()方法执行查询操作。
LambdaQueryWrapper 区分大小写查询
LambdaQueryWrapper 在查询时默认是不区分大小写的,也就是说,不论你输入的是小写还是大写,都会被当作同一个词来进行查询。如果你需要区分大小写查询,可以使用 `likeBinary()` 方法,该方法会将查询语句转换为二进制比较,从而实现大小写的区分。例如:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.likeBinary(User::getName, "Tom");
```
这样就会查询出名字为 "Tom" 的用户,而不会查询出名字为 "tom" 或 "TOM" 的用户。需要注意的是,`likeBinary()` 方法只对字符串类型的字段生效。
阅读全文