mybatisplus querywrapper多表联查
时间: 2023-11-11 22:06:22 浏览: 144
可以使用MybatisPlus的QueryWrapper进行多表联查,具体步骤如下:
1. 创建QueryWrapper对象
2. 使用QueryWrapper的join方法进行关联查询,例如:wrapper.join("user", "user.id = order.user_id")
3. 使用QueryWrapper的select方法选择需要查询的字段,例如:wrapper.select("order.id", "user.name")
4. 使用MybatisPlus的BaseMapper的selectList方法进行查询,例如:baseMapper.selectList(wrapper)
相关问题
mybatisplus使用Wrapper多表联查
以下是使用MybatisPlus的Wrapper进行多表联查的示例:
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public Page<User> getUserListWithRole() {
Page<User> page = new Page<>(1, 10); // 分页查询第一页,页10条数据
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("user.*", "role.role_name") // 指定查询的字段
.eq("user.status", 1) // 添加查询条件
.eq("role.role_type", 2)
.eq("role.is_deleted", 0)
.leftJoin("user_role", "user.id = user_role.user_id")
.leftJoin("role", "user_role.role_id = role.id");
return userMapper.selectPage(page, queryWrapper);
}
}
```
上述示例中,我们使用了`QueryWrapper`来构建查询条件,通过`select`方法指定查询的字段,通过`eq`方法添加查询条件,通过`leftJoin`方法进行多表联查。最后,使用`selectPage`方法执行分页查询。
mybatisplus使用QueryWrapper进行多表联查
可以使用QueryWrapper的join方法进行多表联查,示例如下:
```
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("user.id", "user.name", "order.order_no")
.eq("user.status", 1)
.eq("order.status", 2)
.eq("user.id", 1)
.leftJoin("order", "user.id = order.user_id");
List<Map<String, Object>> list = userMapper.selectMaps(queryWrapper);
```
以上示例中,使用了leftJoin方法进行左连接,连接条件为"user.id = order.user_id",并且通过select方法指定了需要查询的字段。
阅读全文