queryWrapper.lambda().or().like
时间: 2023-06-15 19:07:27 浏览: 165
queryWrapper.lambda().or().like 是 MyBatis-Plus 框架中的一个 Lambda 表达式查询方法,用于构建带有 or 条件的模糊查询。其中,queryWrapper 代表查询条件对象,lambda() 方法返回一个 LambdaQueryWrapper 对象,or() 方法表示 or 条件,like() 方法表示模糊查询。
使用示例:
假设需要查询用户表中用户名包含“张三”或者邮箱包含“@163.com”的用户,可以使用如下代码:
```
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.or(i -> i.like(User::getUsername, "张三"))
.or(i -> i.like(User::getEmail, "@163.com"));
List<User> userList = userService.list(queryWrapper);
```
这段代码中,LambdaQueryWrapper 对象用于构建查询条件,or() 方法用于添加 or 条件,like() 方法用于添加模糊查询条件,其中 User::getUsername 和 User::getEmail 代表实体类的属性,"张三" 和 "@163.com" 分别为模糊查询的关键词。最后,通过 userService.list(queryWrapper) 方法执行查询,并返回查询结果。
相关问题
queryWrapper.lambda().and( t -> t.like(UserEntity::getAccount, keyword) .or().like(UserEntity::getRealName, keyword) );
这段代码是一个使用了Lambda表达式的查询条件构造器。它使用了`queryWrapper.lambda().and()`方法来构建一个AND条件,其中包含了两个OR条件。
第一个OR条件是通过`like(UserEntity::getAccount, keyword)`来实现的,它会在`UserEntity`实体的`account`字段上进行模糊匹配查询,匹配的关键字是`keyword`。
第二个OR条件是通过`like(UserEntity::getRealName, keyword)`来实现的,它会在`UserEntity`实体的`realName`字段上进行模糊匹配查询,同样匹配的关键字是`keyword`。
这样构建出来的查询条件可以用于数据库查询操作,用于筛选出满足以上两个条件之一的记录。
mapper.selectList.query.lambda方法
在 MyBatis 中,可以使用 Mapper 接口的 selectList 方法来查询数据。在 Java 8 中,可以使用 lambda 表达式来简化代码。以下是一个示例:
```java
List<YourResultType> resultList = mapper.selectList(queryWrapper -> queryWrapper
.eq("column1", value1)
.eq("column2", value2));
```
在这个示例中,mapper 是一个 MyBatis 的 Mapper 接口,YourResultType 是查询结果的类型。在 selectList 方法中,使用了一个 lambda 表达式来构造查询条件。queryWrapper 参数代表了一个 QueryWrapper 对象,可以通过它来构造各种查询条件。在这个示例中,使用了两个 eq 方法来分别指定了两个查询条件,即 column1 = value1 和 column2 = value2。执行成功后,会返回满足条件的所有数据组成的列表。
需要注意的是,这里的查询条件都是相等条件,如果需要使用其他条件,需要使用 QueryWrapper 对象提供的其他方法,比如 gt、lt、like 等等。另外,这里的查询条件都是 and 关系,如果需要使用 or 关系,可以使用 QueryWrapper 对象提供的 or 方法。
阅读全文