mybatisplus or关键字
时间: 2023-11-09 18:00:08 浏览: 109
MyBatis-Plus是一个为了简化MyBatis开发的增强工具,提供了许多方便的功能。其中之一就是OR关键字的使用。
在MyBatis中,我们可以使用OR关键字来实现多个条件之间的逻辑或关系。使用OR关键字可以在查询条件中添加多个条件,并且只要满足其中一个条件即可返回结果。
下面是一个使用OR关键字的示例:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 20)
.or()
.eq("gender", "female");
List<User> userList = userMapper.selectList(queryWrapper);
```
上述代码中,我们创建了一个QueryWrapper对象,并使用eq方法添加了两个条件:age等于20和gender等于"female"。在这两个条件之间使用了or方法,表示只要满足其中一个条件即可返回结果。
相关问题
mybatisplus的or用法
MybatisPlus的or用法可以通过使用`or`方法来实现。在查询条件中,如果需要使用or连接多个条件,可以使用`or`方法将这些条件包裹起来。例如,可以使用`or`方法将`eq("attr_id", key)`和`like("attr_name", key)`这两个条件连接起来。示例如下:
```java
QueryWrapper<AttrEntity> queryWrapper = new QueryWrapper<AttrEntity>()
.eq("attr_type", "base".equalsIgnoreCase(type) ? 1 : 0)
.and(qr -> qr.eq("catelog_id", catelogId)
.or()
.eq("attr_id", key)
.like("attr_name", key)
);
```
这样生成的SQL语句会包含`OR`关键字,实现了多个条件之间的or连接。生成的SQL语句类似于:
```sql
SELECT ...
FROM ...
WHERE (attr_type = ? AND (catelog_id = ? OR attr_id = ? OR attr_name LIKE ?))
```
通过使用`or`方法,可以在MybatisPlus中灵活地使用or连接多个条件。
#### 引用[.reference_title]
- *1* *3* [Mybatis-Plus中的and()和or()的使用与原理介绍](https://blog.csdn.net/qq_43318840/article/details/125704216)[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^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [MybatisPlus使用or关联导致查询条件失效](https://blog.csdn.net/m0_53434091/article/details/128965335)[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^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
mybatisplus 模糊查询
在 MyBatis Plus 中,你可以使用 `like` 条件来实现模糊查询。下面是一个示例:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("username", "key");
List<User> userList = userService.list(queryWrapper);
```
在这个示例中,我们创建了一个 `QueryWrapper` 对象,并使用 `like` 方法指定了模糊查询的条件。其中,第一个参数是数据库表中的字段名,第二个参数是要匹配的模糊关键字。
如果你需要进行更复杂的模糊查询,可以使用 `%` 符号来表示任意字符的通配符。例如,要查询以 "key" 开头的用户名,可以这样写:
```java
queryWrapper.likeRight("username", "key");
```
还可以使用 `or()` 方法来实现多个条件之间的逻辑关系。例如,要查询用户名中包含 "key" 或者邮箱中包含 "key" 的用户,可以这样写:
```java
queryWrapper.like("username", "key").or().like("email", "key");
```
希望能帮到你!如果还有其他问题,请继续提问。
阅读全文