MyBatis关联(级联)查询
2年前 (2024-04-27)
级联关系是一个数据库实体的概念,有 3 种级联关系,分别是一对一级联、一对多级联以及多对多级联。例如,一个角色可以分配给多个用户,也可以只分配给一个用户。大部分场景下,我们都需要获取角色信息和用户信息,所以会经常遇见以下 SQL。
SELECT r.*,u.* FROM t_role r
INNER JOIN t_user_role ur ON r.id = ur.id
INNER JOIN t_user u ON ur.user_id = u.id
WHERE r.id = #{id}
在级联中存在 3 种对应关系。
一对多的关系,如角色和用户的关系。通俗的理解就是,一家软件公司会存在许多软件工程师,公司和软件工程师就是一对多的关系。
一对一的关系。每个软件工程师都有一个编号(ID),这是他在公司的标识,它与工程师是一对一的关系。
多对多的关系,有些公司一个角色可以对应多个用户,但是一个用户可以兼任多个角色。通俗的说,一个人既可以是总经理,同时也是技术总监,而技术总监这个职位可以对应多个人,这就是多对多的关系。
级联的优点是获取关联数据十分便捷。但是级联过多会增加系统的复杂度,同时降低系统的性能,此增彼减。所以记录超过 3 层时,就不要考虑使用级联了,因为这样会造成多个对象的关联,导致系统的耦、负载和难以维护。实际应用中,由于多对多的关系比较复杂,会增加理解和关联的复杂度,所以应用较少。的方法是,用一对多的关系把它分解为双向关系,以降低关系的复杂度,简化程序。具体操作方法可以参考《MyBatis多对多关联查询》一节。
本教程分为 3 节对 MyBatis 的级联关系进行详细讲解,小们请点击下方链接阅读学习。
MyBatis一对一关联查询
MyBatis一对多关联查询
MyBatis多对多关联查询
- 随机文章
- 马尔代夫起义(马尔代夫爆发政治动乱,示威者要求总统下台)
- 国足马尔代夫时间(中国足球队在马尔代夫准备亚洲杯比赛)
- 万州马尔代夫新闻(万州马尔代夫火热招募,等你来加入!)
- 嘉祥马尔代夫泳池(嘉祥马尔代夫度假村豪华泳池震撼开放)
- 江西 马尔代夫(江西成为马尔代夫旅游新选择)
- 沣河新区马尔代夫(陕西沣河新区与马尔代夫达成合作协议)
- 永靖马尔代夫简介(探索永靖马尔代夫:亚洲度假胜地简介)
- 漳州马尔代夫位置(漳州市首家模拟马尔代夫度假村落地!)
- 普吉岛和马尔代夫(探索度假胜地:普吉岛与马尔代夫比较)
- 烟台马尔代夫长岛(烟台重返马尔代夫!长岛恢复接待游客)
- 郑和雕像马尔代夫(郑和在马尔代夫落地生根,开创新时代)
- 白马马尔代夫婚礼(浪漫海岛盛典,白马马尔代夫梦幻婚礼)
- 马尔代夫东江分夫(马尔代夫东江分夫景区,如此美不胜收)
- 马尔代夫全国航拍(马尔代夫高空俯瞰:绝美风光尽收眼底)
- 马尔代夫冲浪地图(探索马尔代夫冲浪地图,尽揽冲浪美景)
- 中东 马尔代夫(中东游客在马尔代夫的喜爱:美丽海滩、丰富文化、优质服务)
- 马尔代夫午饭时间(马尔代夫午餐时间,你需要知道的事情)
- 马尔代夫今日局势(马尔代夫政局动荡,总统表态稳定局面)
- 港警喊话马尔代夫(港警呼吁马尔代夫警方配合彻查杀人案)
- 马尔代夫大战视频(惊险!马尔代夫两大派系大战现场曝光)
- 马尔代夫和天堂岛(后的:探秘马尔代夫天堂岛的绝美风光)
- 马尔代夫天然别墅(马尔代夫自然别墅,享受天堂般奢华!)
- 马尔代夫场景介绍(探索马尔代夫美景,品味独特自然之美)
- 尚瑜 马尔代夫(尚瑜深度游马尔代夫:激赏天蓝海绿自然风光)
- 马尔代夫住房紧缺(马尔代夫旅游业振兴导致住房供不应求)
- 马尔代夫喂鱼视频(美丽的马尔代夫,欣赏喂鱼活动的视频)
- 郴州 小马尔代夫(湖南郴州打造小马尔代夫,让你在家门口尽享美妙海岛风光)
- 中印 马尔代夫(印度和马尔代夫的关系如何发展?——重写后:印度和马尔代夫的合作前景如何?)
- 西安 到马尔代夫(从西安飞往马尔代夫:旅行计划指南,不到。)
- 马尔代夫女生婚姻(马尔代夫女生的婚姻状况引发社会关注)
