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>