mybatisplus 实现多表联查分页
时间: 2023-12-23 21:28:06 浏览: 45
Mybatis-Plus是一个基于Mybatis的增强工具,它提供了很多便捷的功能来简化开发。下面是使用Mybatis-Plus实现多表联查分页的示例代码:
```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) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("user.*", "role.role_name")
.leftJoin("user_role", "user.id = user_role.user_id")
.leftJoin("role", "user_role.role_id = role.id");
return userMapper.selectPage(page, queryWrapper);
}
}
```
上述代码中,我们使用了Mybatis-Plus提供的QueryWrapper来构建查询条件,通过leftJoin方法实现多表联查。在select方法中,我们指定了需要查询的字段,其中"user.*"表示查询user表的所有字段,"role.role_name"表示查询role表的role_name字段。
在调用selectPage方法时,我们传入了Page对象和QueryWrapper对象,实现了分页查询。最后,我们通过userMapper的selectPage方法执行查询,并返回查询结果。
需要注意的是,上述代码中的User和UserMapper是示例,你需要根据自己的实际情况进行修改。