many2many

多表连接查询

<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>

 

 

 

猜你喜欢

转载自www.cnblogs.com/csslcww/p/9912383.html