mybatisplus or关键字
时间: 2023-11-09 22:00:08 浏览: 54
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模糊搜索
好的,针对mybatisplus模糊搜索,你可以使用mybatisplus提供的QueryWrapper类中的like方法来实现。具体操作如下:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("name", "张"); // 模糊搜索名字中包含“张”的用户
List<User> userList = userMapper.selectList(wrapper);
```
其中,第一个参数是要搜索的字段名,第二个参数是要搜索的关键字。如果要实现全局模糊搜索,可以使用or方法:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("name", "张").or().like("email", "张"); // 模糊搜索名字或邮箱中包含“张”的用户
List<User> userList = userMapper.selectList(wrapper);
```