级联关系是一个数据库实体的概念,有 3 种级联关系,分别是一对一级联、一对多级联以及多对多级联。
如果表 A 中有一个外键引用了表 B 的主键,A 表就是子表,B 表就是父表。当查询表 A 的数据时,通过表 A 的外键将表 B 的相关记录返回,这就是级联查询。例如,当查询一个人的信息时,同时根据外键(身份证号)将他的身份证信息返回。
一对多查询
一对一级联关系在现实生活中是十分常见的,例如一个大学生只有一张一卡通,一张一卡通只属于一个学生。再如人与身份证的关系也是一对一的级联关系。
MyBatis 如何处理一对一级联查询呢?在 MyBatis 中,通过 元素的子元素 处理这种一对一级联关系。
在 元素中通常使用以下属性。
- property:指定映射到实体类的对象属性(成员变量名)。
- column:指定表中对应的字段(即查询返回的列名,给字段值往往作为第二次关联查询的参数)。
- javaType:指定映射到实体对象属性的类型(实体类的全限定类名)。
- select:指定引入嵌套查询的子 SQL 语句,该属性用于关联映射中的嵌套查询。