使用MPJLambdaWrapper完成三张表的联表查询,且子表相互链接,查询条件可以使用子表字段
时间: 2024-01-12 07:02:20 浏览: 54
好的,我理解了你的问题。在这里,我假设你已经有了三张表,分别是table1、table2和table3,它们之间的关系是table1和table2通过id字段相互链接,table2和table3通过name字段相互链接。现在我们需要使用MPJLambdaWrapper完成这个联表查询。
首先,我们需要定义三个实体类,分别对应三张表。这里以Java为例,代码如下:
```java
public class Table1 {
private Integer id;
private String name;
// 省略getter和setter方法
}
public class Table2 {
private Integer id;
private String name;
private Integer age;
// 省略getter和setter方法
}
public class Table3 {
private String name;
private String address;
// 省略getter和setter方法
}
```
然后,我们需要使用MPJLambdaWrapper进行联表查询。代码如下:
```java
Wrapper<Table1> wrapper = new MPJLambdaWrapper<>();
wrapper.select(Table1::getName, Table2::getAge, Table3::getAddress)
.eq(Table1::getId, Table2::getId)
.eq(Table2::getName, Table3::getName)
.eq(Table3::getName, "xxx");
List<Map<String, Object>> result = table1Mapper.selectMaps(wrapper);
```
这段代码的含义是:查询Table1的name字段、Table2的age字段、Table3的address字段,条件是Table1的id字段等于Table2的id字段,Table2的name字段等于Table3的name字段,且Table3的name字段等于"xxx"。最后,使用selectMaps方法执行查询,并返回结果。
这就是使用MPJLambdaWrapper完成三张表的联表查询,且子表相互链接的示例代码。希望能够帮到你!