mybatis 一對多查詢

2022-09-14 07:27:10 字數 2146 閱讀 9523

準備階段(

乙個老師對應多個學生)

1.建表

2.編寫實體類

package com.lv.pojo;

import lombok.data;

@data

public class student

package com.lv.pojo;

import lombok.data;

import j**a.util.list;

@data

public class teacher

package com.lv.dao;

}

package com.lv.dao;

import com.lv.pojo.teacher;

import j**a.util.list;

//獲取老師

listgetteacher();

}

<?xml version="1.0" encoding="utf8" ?>

public "- config 3.0//en"

<?xml version="1.0" encoding="utf8" ?>

public "- config 3.0//en"

5.在mybatis-config.xml中新增對映

6.編寫測試檔案進行測試

import com.lv.pojo.teacher;

import com.lv.utils.mybatisutils;

import org.apache.ibatis.session.sqlsession;

import org.junit.test;

import j**a.util.list;

public class mytest

sqlsession.close();

}}7.測試結果

方式一:按查詢巢狀處理(相當於sql中的子查詢)

teacher getteacher3(@param("tid") int id);
select * from teacher where id = #

select * from student where tid = #

3.測試

@test

public void getteacher3()

方式二:按結果巢狀處理(相當於sql中的連表查詢)

//獲取指定老師下的所有學生及老師的資訊

teacher getteacher2(@param("tid") int id);

select s.id sid,s.name sname,t.name tname,t.id tid

from student s,teacher t

where s.tid = t.id and t.id = #

3.測試

@test

public void getteacher2()

注:association 關聯 用於一對一和多對一

collection 集合 用於一對多

j**atype 和 oftype 都用來指定物件型別,區別是:j**atype 指定的是實里類中的屬性,oftype 指定的是對映到list集合屬性中實體類的型別 

mybatis 一對多查詢

查詢訂單及訂單明細的資訊。這裡怎麼體現了一對多 這裡orders的id出現重複的記錄,無法對映到orders類中 collection 對關聯查詢到多條記錄對映到集合物件中 4 查詢訂單 關聯使用者 及訂單明細 public listfindordersandorderdetailresultmap...

mybatis 一對多查詢

與phoenix不同,在mysql中查詢的結果不會按照id預設排序。所以如果頁面有隱含的順序要求 兩次呼叫,列表順序不變 此時千萬不要使用set,而應該使用list。接下來進入正題 直接上 public class userpublic class order 根據id查詢使用者,並且查詢出該使用者...

Mybatis一對多查詢

mybatis中有兩個標籤,association和collection,這兩個標籤都有兩種用法 一種是如下方式一可以與查詢繫結在一起,使用這種方式association和collection的效果是一樣的,都可以進行一對多和一對一的查詢,但這種方式會進行n m次查詢,在資料量非常大的情況下不推薦使...