QueryWrappe联表查询
时间: 2024-04-29 14:18:18 浏览: 128
QueryWrapper 是 MyBatis-Plus 框架中提供的一种查询构造器,它可以帮助我们快速构建复杂的查询条件。联表查询是指同时查询多个表的数据,可以使用 QueryWrapper 来构建关联查询条件。
在 QueryWrapper 中,可以使用 lambda 表达式来编写查询条件,例如 `eq` 方法表示等于,`like` 方法表示模糊查询等。如果要进行关联查询,可以使用 `leftJoin`、`rightJoin`、`innerJoin` 等方法指定关联的表和关联条件。最终,通过调用 `select` 方法指定要查询的字段列表,或者使用 `selectList`、`selectMaps`、`selectObjs` 等方法来获取查询结果。
以下是一个简单的示例代码:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("age", 20)
.like("name", "张")
.leftJoin("user_role", "user_role.user_id = user.id")
.eq("user_role.role_id", 1)
.select("user.id", "user.name", "user_role.role_name");
List<Map<String, Object>> userList = userMapper.selectMaps(wrapper);
```
这个例子中,我们使用 QueryWrapper 查询年龄为 20 岁,名字包含“张”,且角色为“管理员”的用户列表,并且只返回用户的 id、name 和角色名等字段。
阅读全文