new QueryWrapper<FormulaCategoryPo>()完成join操作
时间: 2025-01-14 21:19:58 浏览: 48
在MyBatis-Plus中,`QueryWrapper`是一个常用的查询构造器,用于构建SQL查询语句。要完成`join`操作,可以使用`QueryWrapper`的`innerJoin`、`leftJoin`和`rightJoin`方法。以下是一个示例,展示如何使用`QueryWrapper`来完成`join`操作:
假设我们有两个表:`formula_category`(公式分类)和`formula`(公式),它们之间通过`category_id`进行关联。我们希望查询所有公式及其对应的分类名称。
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class FormulaService extends ServiceImpl<FormulaMapper, FormulaPo> {
@Autowired
private FormulaMapper formulaMapper;
public List<FormulaPo> getFormulasWithCategoryName() {
QueryWrapper<FormulaPo> queryWrapper = new QueryWrapper<>();
queryWrapper.select("f.*", "fc.name as category_name")
.from("formula f")
.innerJoin("formula_category fc", "f.category_id = fc.id");
return formulaMapper.selectList(queryWrapper);
}
}
```
在这个示例中:
1. 我们创建了一个`QueryWrapper`实例。
2. 使用`select`方法选择需要的字段,其中`f.*`表示选择`formula`表的所有字段,`fc.name as category_name`表示选择`formula_category`表的`name`字段,并将其别名为`category_name`。
3. 使用`from`方法指定主表为`formula`,并为其指定别名`f`。
4. 使用`innerJoin`方法进行内连接,连接`formula_category`表,并为其指定别名`fc`,连接条件为`f.category_id = fc.id`。
这样,我们就可以通过`QueryWrapper`完成`join`操作,并查询到所有公式及其对应的分类名称。
阅读全文
相关推荐


















