準備階段(
乙個老師對應多個學生)
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次查詢,在資料量非常大的情況下不推薦使...