準備階段(多個學生對應乙個老師)
1.建表
2.編寫實體類
package com.lv.pojo;
import lombok.data;
@data
public class student
package com.lv.pojo;
import lombok.data;
@data
public class teacher
package com.lv.dao;
}
package com.lv.dao;
import com.lv.pojo.teacher;
import org.apache.ibatis.annotations.param;
import org.apache.ibatis.annotations.select;
@select("select * from teacher where id = #")
teacher getteacher(@param("tid") int id);
}
<?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.編寫測試檔案進行測試
package com.lv.dao;
import com.lv.pojo.teacher;
import com.lv.utils.mybatisutils;
import org.apache.ibatis.session.sqlsession;
import org.junit.test;
public class mytest
}
7.測試結果
方式一:按查詢巢狀處理(相當於sql中的子查詢)
//查詢所有的學生資訊,以及對應的老師資訊!
public listgetstudent();
select * from student
select * from teacher where id = #
3.測試
@test
public void getstudent()
sqlsession.close();
}
方式二:按結果巢狀處理(相當於sql中的連表查詢)
//查詢所有的學生資訊,以及對應的老師資訊!
public listgetstudent2();
select s.id sid,s.name sname,t.name tname
from student s,teacher t
where s.tid = t.id;
3.測試
@test
public void getstudent2()
sqlsession.close();
}
MyBatis多對一查詢的使用
一.丟擲問題 什麼是多對一 如何在查詢訂單的時候帶出使用者表中的使用者名稱?二.解決方式 1.單查詢屬性對映 public class order select id getbyid resulttype order select o.u.account useraccount from mall ...
多合一查詢
create table student num varchar 20 name varchar 20 subject varchar 10 score float insert student select 001 姓名1 英語 78.00 insert student select 001 姓名...
maybatis一對多 多對一查詢
1.mybatis 一對多的三種實現方式 查詢1的一方把多的一方查出來 方式1 1的一方 warning mbg.generated 一對多 conllection標籤 property 一的類中持有多的集合的引用 oftype 多的一方集合的型別 select 在多的一方的xml中寫查詢語句 把要...