mybatisplus连表查询有重复字段
时间: 2023-07-24 15:59:11 浏览: 108
支持连表查询的mybatis-plus
5星 · 资源好评率100%
在MyBatis Plus中进行连表查询时,如果连接的表中存在重复字段,可以通过别名来区分它们。在SQL语句中给重复字段使用别名,然后在查询结果映射的实体类中使用`@TableField`注解来指定具体的列名。
例如,假设有两张表A和B,它们都有一个名为"name"的字段,我们要进行连表查询,可以这样处理:
```java
@TableName("A")
public class AEntity {
// other fields
@TableField("name")
private String nameA;
// getters and setters
}
@TableName("B")
public class BEntity {
// other fields
@TableField("name")
private String nameB;
// getters and setters
}
```
在查询时,使用`@TableField`注解中指定的别名来进行连表查询即可:
```java
List<AEntity> list = aMapper.selectList(new QueryWrapper<AEntity>()
.join("B", "A.id = B.a_id")
.select("A.*, B.name as nameB")
);
```
这样就能够避免连表查询中重复字段的问题。
阅读全文