mybatis關聯查詢

mybatis關聯查詢

第一步,在實體類裏面創建要放進去的對象

第二步,使用註解@Transient

使用這個註解可以防止使用通用mapper的時候報錯,可以理解爲它標誌不是數據庫字段,方便以後擴展

第三步,寫sql語句



SELECT

           <!--關聯班級 -->

              tc.id AS tb_class_id,tc.number,tc.name AS tc_class_name,

           <!--關聯小組 -->

            sg.group_id,sg.group_name,

            <!--關聯實驗 -->

            e.experiment_id,e.experiment_name,e.experiment_presentation,

            <!--關聯成員 -->

            sgs.group_student_id,

            <!--學生個人 -->

            si.id AS stu_id,si.name AS stu_name,

            <!--學號 -->

            u.username,

            <!--考勤 -->

              ci.clocking_id,ci.status,ci.clocking_time,

           <!--成績 -->

              sef.submit_experiment_file_id,sef.submit_status

       FROM tb_class tc

       LEFT JOIN scourse_group sg ON sg.class_id = tc.id

       LEFT JOIN experiment e ON e.experiment_id = sg.experiment_id

       LEFT JOIN scourse_group_student sgs ON sgs.group_id = sg.group_id

       LEFT JOIN student_info si ON si.id = sgs.group_student_id

       LEFT JOIN USER u ON u.id = si.id

       LEFT JOIN clocking_in ci ON ci.student_id = si.id

       LEFT JOIN submit_experiment_file sef ON sef.submitter_id = si.id

       WHERE tc.id IN (

                  SELECT

                    DISTINCT(class_id)

                     FROM scourse_group

                     WHERE schedule_id = #{scheduleId}

   

              )

       AND  tc.stealth=2  AND sg.schedule_id=#{scheduleId}

       AND ci.schedule_id=#{scheduleId} AND sef.schedule_id=#{scheduleId}

 

第四步,寫結果集映射

 

備註:

(1)type是實體類

(2)id是唯一標識,是resulMap指定的標識

(3)autoMapping是指定是否自動映射,如果不指定,需要指定每一個結果集

(4)collection是集合映射,用於多個對象;association是用於單個對象

(5)如果裏面有collection,又有association,應該把association放前面,不然會報錯

(6)無論是association還是collection,都要指定主鍵<id/>

(7)column是查詢數據庫時的字段,如果有別名,那這裏是別名,property是實體類的屬性,對象實體類封裝的名稱

(8)擴展:association、collection的另一種寫法,不建議使用

指定屬性,用select屬性,再去查詢數據庫,這種是屬於懶人寫法,不建議!!!!

備註:select裏面的屬性填的是xml標籤的id值,表示去執行該sql

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章