多表连接查询
<mapper namespace="com.abc.dao.IStudentDao">
<!-- 多表连接查询 -->
<resultMap type="Student" id="studentMap">
<id column="sid" property="sid" />
<result column="sname" property="sname" />
<collection property="courses" ofType="Course">
<id column="cid" property="cid" />
<result column="cname" property="cname" />
</collection>
</resultMap>
<select id="selectStudentById" resultMap="studentMap">
select sid,sname,cid,cname
from student,course,middle
where sid=studentId and cid=courseId and sid=#{xxx}
</select>
</mapper>
多表单独查询
<mapper namespace="com.abc.dao.IStudentDao">
<!-- 多表单独查询 -->
<select id="selectCourseById" resultType="Course">
select cid,cname from course where cid=#{jjj}
</select>
<resultMap type="Middle" id="middleMap">
<id column="id" property="id"/>
<association property="course"
javaType="Course"
select="selectCourseById"
column="courseId"/>
</resultMap>
<select id="selectMiddleByStudent" resultMap="middleMap">
select id,courseId from middle where studentId=#{ooo}
</select>
<resultMap type="Student" id="studentMap">
<id column="sid" property="sid" />
<result column="sname" property="sname" />
<collection property="courses"
ofType="Course"
select="selectMiddleByStudent"
column="sid"/>
</resultMap>
<select id="selectStudentById" resultMap="studentMap">
select sid,sname from student where sid=#{xxx}
</select>
</mapper>
多表复杂查询
<mapper namespace="com.abc.dao.IStudentDao">
<!-- 多表复杂查询 -->
<select id="selectCourseById" resultType="Course">
select cid,cname from course where cid=#{ooo}
</select>
<resultMap type="Student" id="studentMap">
<id column="sid" property="sid" />
<result column="sname" property="sname" />
<collection property="courses"
ofType="Course"
select="selectCourseById"
column="courseId"/>
</resultMap>
<select id="selectStudentById" resultMap="studentMap">
select sid,sname,courseId
from student,middle
where sid=studentId and sid=#{xxx}
</select>
</mapper>