mybatis-plus联表查询
时间: 2023-09-01 22:09:58 浏览: 133
MyBatis-Plus 是一个基于 MyBatis 的增强工具,提供了一些方便的功能来简化开发流程。在 MyBatis-Plus 中进行联表查询可以通过使用 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); // 分页参数
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("user.*", "role.role_name") // 选择需要查询的字段
.eq("user.status", 1) // 添加查询条件
.orderByDesc("user.create_time"); // 添加排序条件
queryWrapper.join("left join role on user.role_id = role.id"); // 添加关联表的条件
return userMapper.selectPage(page, queryWrapper);
}
}
```
在上述示例中,通过 `QueryWrapper` 构建查询条件,使用 `select` 方法选择需要查询的字段,使用 `eq` 方法添加查询条件,使用 `orderByDesc` 方法添加排序条件。然后通过 `join` 方法来关联表,并指定关联条件。
最后,通过 `selectPage` 方法来进行分页查询,并返回查询结果。
注意:以上示例中的代码是基于 Spring Boot 和 MyBatis-Plus 的集成环境下的示例,若您使用的是其他环境,请相应调整对应的配置和依赖。
阅读全文