这里是修真院技术分享,每篇分享文从
八个方面深度解析后端知识/技能,本篇分享的是:
【mybatis多表联查】
【修真院java小课堂】mybatis多表联查
大家好,我是IT修真院深圳分院第12期学院,一枚正直纯洁的java程序员,今天给大家分享一下,拓展知识点-mybatis多表联查。
(1)背景介绍
在客观世界中,对象很少是孤独存在的,如班级与学生之间的关系,学生与课程之间的关系,它们的实例之间可以互相访问,这就是关联关系。MyBatis 的关联映射可以大大简化持久层数据的访问,关联关系的分类如下:
(2)知识剖析
一对一: 一个班主任只属于一个班级,一个班级也只能有一个班主任
一对多:一个班级有多个学生,一个学生只属于一个班级
多对多:一个学生可以选多门课,一门课可以有多个学生选
(3)常见问题
为什么不建议使用外键把多张表关联起来?
(4)解决方案
若是高并发大流量事务场景,使用外键可能容易造成死锁,以及数据库资源更快出现瓶颈,所以一般互联网行业不建议使用,
多使用再企业内部,比如ERP软件,早期的MIS系统等。
(5)编码实战
(6)拓展思考
(7)参考文献
【参考一】