1. 程式人生 > 其它 >Mybatis- 一對多的處理

Mybatis- 一對多的處理

按結果巢狀處理

<!--第一種查詢方法:按結果巢狀處理-->
    <select id="getTeacher" resultMap="TeacherStudent">
        select s.id sid, s.name sname, t.name tname, t.id tid
        from mybatis.student s, mybatis.teacher t
        where s.tid = t.id and t.id=#{id};
    </select>

    <resultMap id="TeacherStudent" type="Teacher">
        <result property="id" column="tid"/>
        <result property="name" column="tname"/>
        <collection property="students" ofType="Student">
            <result property="id" column="sid"/>
            <result property="name" column="sname"/>
            <result property="tid" column="tid"/>
        </collection>
    </resultMap>

按查詢巢狀處理

 <!--第二種查詢方法:按查詢巢狀處理-->
    <select id="getTeacher1" resultMap="TeacherStudent2">
        select * from mybatis.teacher where id = #{id};
    </select>

    <select id="getStudent" resultType="Student">
        select * from mybatis.student where tid = #{tid};
    </select>

    <resultMap id="TeacherStudent2" type="Teacher">
        <collection property="students" javaType="ArrayList" ofType="Student" select="getStudent" column="id"/>
    </resultMap>
我從小到大沒有什麼夢想,一直在路上不問遠方,只是衷心希望自己成為一個很厲害的人。你問我什麼算厲害,大概就是能有朝一日,保護好我愛的人,贍養好家人。