首页 > 其他分享 >Mybatis学习笔记(七)——Mybatis关联查询

Mybatis学习笔记(七)——Mybatis关联查询

时间:2022-09-05 23:00:15浏览次数:58  
标签:关系 级联 一对一 用户 笔记 查询 Mybatis id

级联关系是一个数据库实体的概念,有 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 层时,就不要考虑使用级联了,因为这样会造成多个对象的关联,导致系统的耦合、负载和难以维护。

1.一对一关联查询

 

标签:关系,级联,一对一,用户,笔记,查询,Mybatis,id
From: https://www.cnblogs.com/worthmove/p/16659961.html

相关文章

  • Mybatis学习笔记(六)——Mybatis注解
    注解主要分为三大类,即SQL语句映射、结果集映射和关系映射。下面分别进行讲解。不过一般注解用的比较少。1.SQL语句映射1)@Insert:实现新增功能 这个方法是在mapper接口......
  • 今日内容 表查询关键字 下划线查询以及跨表查询
    表查询数据准备及测试环境搭建1.django自带一个sqlite3小型数据库该数据库功能非常有限,并且针对日期类型的数据兼容性很差2.django切换mysql数据库django......
  • mybatis 动态排序
    publicclassPagination{//当前页privateIntegerpage=1;//一页显示条数privateIntegerlimit=10;//排序字段privat......
  • 操作系统(学习笔记)
    操作系统(学习笔记)  进程=正在进行的程序=执行中的程序进程程序的本质:数据和对数据的处理;进程的本质:正在运行(执行/动态)的程序;进程是操作系统进行资源化分配......
  • mybatis资源扫描 插件
    <!--在build中配置resources,来防止我们资源导出失败的问题--><build><resources><resource><directory>src/main/resources</directory>......
  • 220905-读书笔记-把时间当做朋友
    印象中,第一次读这本书的时候,是在大学期间,应该是大一或者大二的时候,当时候自己的智识达不到理解这本书的层次。现在在读这本书,竟觉得略有些浅显。总的来说,这本书写的比较零......
  • 表查询数据准备及测试环境搭建、ORM多表查询
    目录上周内容回顾视图层模块层今日内容详细一、表查询数据准备及测试环境搭建1.django自带一个sqlite3小型数据库2.django切换MySQL数据3.定义模型类4.数据库的迁移命令(模......
  • Tensorflow2.0-随笔笔记-基础
    创建张量tf.convert_to_tensor函数In[22]:tf.convert_to_tensor([1,2.])#从列表创建张量Out[22]:<tf.Tensor:id=86,shape=(2,),dtype=float32,numpy=array([1......
  • MyBatis 八——修改全部字段/修改动态字段
    配置文件完成修改全部字段1、编写接口方法:Mapper接口观察参数返回结果   2、编写SQL语句:SQL映射文件;  ......
  • 字符串入门学习笔记
    字符串哈希idea将字符串映射成一个数值(称为哈希值),因此可以在O(1)时间内做到例如判断两个串是否相等这样的事情,优化了时间复杂度注意,哈希值不同时字符串一定不同;哈希值相......