多表查詢:
學(xué)生表、班級(jí)表、課程表、班級(jí)課程表
一對(duì)一:
一個(gè)學(xué)生只屬于一個(gè)班級(jí)。 查詢:
id name age gender banjiName
SELECT s.id,s.`name`,s.age,s.gender,b.id AS banjiId,b.name AS banjiName
FROM student AS s INNER JOIN banji AS b
ON s.banji_id=b.id;
MyBatis中使用association標(biāo)簽解決一對(duì)一關(guān)聯(lián)查詢,association標(biāo)簽可以使用的屬性如下:
- property:對(duì)象屬性的名稱
- javaType:對(duì)象以昂屬性的類型
- column:數(shù)據(jù)庫(kù)中字段的名稱(也可能是起的別名)
public void testOne2One() { SqlSession sqlSession = MyBatisUtil. getSqlSession(); // 最終返回的是一個(gè)學(xué)生的集合,但是Student里面是有一個(gè)banji對(duì)象,里面保存了這個(gè)學(xué)生對(duì)應(yīng)的班級(jí)信息 List<Student> list = sqlSession. selectList( "student.findStudentBanjiInfo"); for (Student student : list) { System. out.println( student); } } Student [id=1, name=張三, age=21, gender=男, banji=Banji [id=1, name=java1 807] ] Student [id=2, name=zhangsan, age=12, gender=男, banji=Banji [id=1, name= java1807] ] Student [id=4, name=王五2, age=12, gender=男, banji=Banji [id=2, name=java1812]] ${student.banji.id} ${student.banji.name}
一對(duì)多:
多對(duì)多:
多對(duì)多其實(shí)就是分解為兩個(gè)一對(duì)多。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注服務(wù)器之家的更多內(nèi)容!
原文鏈接:https://blog.csdn.net/weixin_43890079/article/details/120439006