mybatisplus中or的用法
时间: 2023-12-05 09:41:12 浏览: 34
MyBatisPlus中的or()方法可以用于构建SQL语句中的OR条件。下面是一个使用or()方法的示例:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", "张三").or().eq("name", "李四");List<User> userList = userMapper.selectList(wrapper);
```
上面的代码中,我们首先创建了一个QueryWrapper对象,然后使用eq()方法添加了一个等于条件,接着使用or()方法添加了一个OR条件,最后再使用eq()方法添加了另一个等于条件。这样就构建出了一个SQL语句,查询name等于"张三"或者等于"李四"的用户信息。
需要注意的是,or()方法必须在添加完一个条件之后才能调用,否则会抛出异常。如果需要在or()方法之后添加多个条件,可以使用nested()方法将它们包裹起来,例如:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", "张三").or(i -> i.eq("age", 18).ne("email", "test@test.com"));
List<User> userList = userMapper.selectList(wrapper);
```
上面的代码中,我们使用了一个Lambda表达式将两个条件包裹起来,这样就可以在or()方法之后添加多个条件了。
相关问题
mybatisplus中or的使用
MybatisPlus中or的使用可以通过Wrapper的or方法实现。具体步骤如下:
1.创建Wrapper对象
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
```
2.使用or方法拼接条件
```java
wrapper.eq("name", "Tom")
.or()
.eq("age", 18);
```
以上代码表示查询name为Tom或者age为18的用户信息。
3.执行查询
```java
List<User> userList = userMapper.selectList(wrapper);
```
完整代码如下:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", "Tom")
.or()
.eq("age", 18);
List<User> userList = userMapper.selectList(wrapper);
```
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 ]