mybatis多对多联表查询xml语句
时间: 2024-10-12 21:05:27 浏览: 23
在MyBatis中,处理多对多关联通常涉及到通过外键映射来获取相关的数据。假设我们有两个实体,例如User和Tag,它们之间通过用户ID和tagID建立关系。在XML映射文件中,对于多对多的联表查询,你可以这样配置:
```xml
<mapper namespace="com.example.mapper.UserMapper">
<select id="getUserWithTags" resultType="com.example.entity.User">
SELECT u.*
FROM user u
LEFT JOIN user_tag ut ON u.id = ut.user_id
LEFT JOIN tag t ON ut.tag_id = t.id
WHERE u.id = #{id}
</select>
</mapper>
```
在这个例子中,`user_tag`是一个中间表,存储了用户和标签之间的关系。`SELECT`语句使用LEFT JOIN连接三个表:主表User、关联表user_tag以及Tag表。然后,你可以在Service层通过UserMapper的`getUserWithTags`方法传入用户ID,得到包含所有关联标签的User对象。