| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> MyBatis 多表 -> 正文阅读 |
|
[Java知识库]MyBatis 多表 |
多表查询:
学生表、班级表、课程表、班级课程表?
?
??
?
一对一:
一个学生只属于一个班级。
查询: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标签解决一对一关联查询,association标签可以使用的属性如下:
public
void testOne2One() {
??????SqlSession
sqlSession = MyBatisUtil.
getSqlSession();
? ? ?
//?最终返回的是一个学生的集合,但是Student里面是有一个banji对象,里面保存了这个学生对应的班级信息
??????
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}
一对多:
?
?
多对多:
多对多其实就是分解为两个一对多。
?
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 18:25:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |