在MyBatis中进行关联表查询时,如果两个表中存在同名的字段,那么在结果映射时就需要指定别名来避免冲突。否则,可能会出现你所描述的情况,即外表的字段值被错误地映射到了关联表同名的值上面。
例如,假设有两个表t_user和t_order,它们都有一个名为id的字段。我们需要查询所有订单及其对应的用户信息。可以使用如下的Mapper XML文件:
```xml
```
可以看到,在SELECT语句中,我们使用了别名来区分两个表中的id字段。在resultMap中,也使用了别名来指定关联表中的字段。
如果不使用别名,而是直接使用同名的字段,就可能会出现上述问题。因此,在进行关联表查询时,一定要注意避免同名字段的冲突。