mybatisplus如何写or
时间: 2025-01-30 10:48:20 浏览: 37
### MyBatis Plus 中实现 OR 条件查询
在 MyBatis Plus 中,`LambdaQueryWrapper` 提供了灵活的方式来构建复杂的 SQL 查询语句。对于 `OR` 条件查询的支持尤为强大,允许嵌套多个条件表达式来满足复杂业务需求。
通过链式调用 `.or()` 方法可以在同一个查询条件下添加逻辑或的关系[^4]:
```java
@Autowired
private UserMapper userMapper;
@Test
public void testOrCondition() {
// 创建 LambdaQueryWrapper 对象并指定实体类型
LambdaQueryWrapper<User> queryWrapper = Wrappers.<User>lambdaQuery()
.likeRight(User::getName, "梅") // 名字右侧模糊匹配 '梅'
.and(wq -> wq.lt(User::getAge, 30) // 年龄小于 30 岁 AND (
.or().isNotNull(User::getEmail)) // 邮箱不为空 )
;
// 执行查询并将结果存储到列表中
List<User> users = userMapper.selectList(queryWrapper);
// 输出查询结果
System.out.println(users);
}
```
上述代码展示了如何使用 `LambdaQueryWrapper` 构建带有 `OR` 和 `AND` 的复合查询条件。这里先定义了一个名字以“梅”结尾的用户作为基础条件,接着利用匿名函数的方式进一步组合年龄限制和邮箱非空两个子条件,并通过`.or()`连接这两个子条件形成最终的查询条件。
阅读全文
相关推荐


















