使用資料庫的思想處理:聯表查詢
定義dao介面
listgetstudents();
編寫查詢語句
查詢學生資訊 id name tid , 由於我們要得到老師的資訊,我們需要聯表查詢
查詢老師的資訊 id name
<?xml version="1.0" encoding="utf-8" ?>
select * from mybatis.student
select * from mybatis.teacher where id = #
測試類
@test
public void getstudents()
}
1.編寫介面
listgetstudentstwo();
查詢學生id,學生姓名,老師姓名,需要從學生表和老師表中查詢
學生對應的類進行對映,發現老師乙個物件 , 所以關聯乙個物件;
select s.id,s.name,t.id as tid,t.name as tname
from mybatis.student as s, mybatis.teacher as t
where s.tid = t.id
3.測試類
@test
public void getstudentstwo()
}
mybatis中遇到多對一的情況,要使用關聯對映處理:使用association
兩種處理思路:
資料庫思想 : 聯表查詢
oop思想 :關聯物件
乙個老師對應多個學生
一對多的業務:使用collection處理
乙個老師對應多個學生
public class teacher
編寫dao介面
package com.kuang.dao;
import com.kuang.pojo.teacher;
public inte***ce teacherdao
<?xml version="1.0" encoding="utf-8" ?>
public "- config 3.0//en"
select s.name sname,s.id sid, t.name tname
from mybatis.student as s,mybatis.teacher as t
where s.tid = t.id and t.id = #
select * from mybatis.teacher where id = #
select * from mybatis.student where tid = #
測試類
package com.kuang.dao;
import com.kuang.pojo.teacher;
import com.kuang.utils.mybatisutils;
import org.apache.ibatis.session.sqlsession;
import org.junit.test;
public class teacherdaotest
@test
public void getteachertwo()
}
多對一:association 關聯
一對多:collection 集合
兩種解決方式:
Mybatis一對多和多對一處理的深入講解
目錄 sql create table teacher id int not null,name varchar 30 default null,primary key id insert into teacher id,name values 1,蔡老師 create table student ...
mybatis 一對多查詢
查詢訂單及訂單明細的資訊。這裡怎麼體現了一對多 這裡orders的id出現重複的記錄,無法對映到orders類中 collection 對關聯查詢到多條記錄對映到集合物件中 4 查詢訂單 關聯使用者 及訂單明細 public listfindordersandorderdetailresultmap...
mybatis 一對多查詢
與phoenix不同,在mysql中查詢的結果不會按照id預設排序。所以如果頁面有隱含的順序要求 兩次呼叫,列表順序不變 此時千萬不要使用set,而應該使用list。接下來進入正題 直接上 public class userpublic class order 根據id查詢使用者,並且查詢出該使用者...