QueryWrapper 子查询
时间: 2024-12-23 11:10:58 浏览: 2
MyBatis模糊查询
QueryWrapper是MyBatisPlus中的一个高级API,它提供了一种方便的方式来进行SQL查询操作,类似于JPA中的Criteria API。QueryWrapper实际上是一个链式接口,可以让你通过一系列方法来构建复杂的查询条件,包括但不限于等于、大于、小于、包含等,并支持子查询。
例如,如果你想在一个大的查询中嵌套一个小的查询作为条件,你可以这样做:
```java
List<User> users = UserMapper.selectList(new QueryWrapper<User>()
.eq("status", new QueryWrapper<Status>() // 创建子查询
.selectOneColumn("id") // 从Status表中选择一个列作为条件
.eq("name", "active")
)
.andIn("age", Arrays.asList(18, 20, 22)); // 主查询条件,年龄在18到22之间
```
在这个例子中,`new QueryWrapper<Status>()...eq("name", "active")`这部分就是一个子查询,它的结果会被用来筛选User表中的数据。
阅读全文