多对多查询就是两个实体类 通过一个中间表 来实现多对多查询 他和一对多有点类似。
<!--多对多查询-->
<resultMap id="reMap" type="com.qst.domian.Employee">
<!-- 主键-->
<id property="id" column="id"></id>
<result property="Username" column="username"></result>
<result property="gender" column="gender"></result>
<!--把类一个实体类封装到一个集合中-->
<collection property="roles" ofType="com.qst.domian.Role">
<id property="roleId" column="roel_id"></id>
<result property="roleName" column="role_name"></result>
<result property="roleDesc" column="role_desc"></result>
</collection>
</resultMap>
<select id="findRE" resultMap="reMap">
select * from employee e left join user_role ur on e.id = ur.uid left join role r on r.role_id = ur.uid;
</select>
<!-- SQL语句 进行多对多查询 主要注意的是 collection property="employees" ofType指定格式 -->
<resultMap id="roleMap" type="com.qst.domian.Role">
<!-- 主键-->
<id property="roleId" column="role_id"></id>
<result property="roleName" column="role_name"></result>
<result property="roleDesc" column="role_desc"></result>
<collection property="employees" ofType="com.qst.domian.Employee">
<id property="id" column="id"></id>
<result property="Username" column="username"></result>
<result property="gender" column="gender"></result>
</collection>
</resultMap>
<select id="findAll" resultMap="roleMap">
select * from role r left join user_role ur on r.role_id = ur.uid left join employee e on e.id = ur.uid;
</select>