QueryWrapper多表查询
时间: 2024-01-26 17:14:29 浏览: 100
sql 多表查询
QueryWrapper是MyBatis Plus提供的一个查询条件构造器,可以用于构建复杂的查询条件。它可以与多表查询一起使用,以实现在多个表之间进行联合查询。
以下是两种使用QueryWrapper实现多表查询的例子:
1. 使用selectPage方法进行分页查询
```java
public IPage<User> getUserListByPage(Integer roleId, Integer pageNum, Integer pageSize) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.select("user.*").distinct()
.from("user")
.leftJoin("user_role").on("user.id=user_role.user_id")
.eq("user_role.role_id", roleId);
Page<User> page = new Page<>(pageNum, pageSize);
return userMapper.selectPage(page, wrapper);
}
```
2. 使用selectList方法进行普通查询
```java
public List<User> getUserListByRoleId(Integer roleId) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.select("user.*").distinct()
.from("user")
.leftJoin("user_role").on("user.id=user_role.user_id")
.eq("user_role.role_id", roleId);
return userMapper.selectList(wrapper);
}
```
阅读全文