• 注册
当前位置:1313e > 默认分类 >正文

mybatis中参数是两个实体类怎么处理_Mybatis的级联查询

级联关系是一个数据库实体的概念,有 3 种级联关系,分别是一对一级联、一对多级联以及多对多级联。

如果表 A 中有一个外键引用了表 B 的主键,A 表就是子表,B 表就是父表。当查询表 A 的数据时,通过表 A 的外键将表 B 的相关记录返回,这就是级联查询。例如,当查询一个人的信息时,同时根据外键(身份证号)将他的身份证信息返回。

一对多查询

一对一级联关系在现实生活中是十分常见的,例如一个大学生只有一张一卡通,一张一卡通只属于一个学生。再如人与身份证的关系也是一对一的级联关系。

MyBatis 如何处理一对一级联查询呢?在 MyBatis 中,通过 元素的子元素 处理这种一对一级联关系。

在 元素中通常使用以下属性。

  • property:指定映射到实体类的对象属性(成员变量名)。
  • column:指定表中对应的字段(即查询返回的列名,给字段值往往作为第二次关联查询的参数)。
  • javaType:指定映射到实体对象属性的类型(实体类的全限定类名)。
  • select:指定引入嵌套查询的子 SQL 语句,该属性用于关联映射中的嵌套查询
2fbb73d90641d43aa8bdf98eece72d8b.png

一对一级联查询的嵌套查询

一对一关联查询的第二种方式是嵌套结果,即一次查询,返回关联信息直接封装

d7f79fdc2fd507d054a929be8d6dd55b.png

一对一级联查询的嵌套结果

第三种方式是把两个实体类的属性合起来,拼成一个实体类

466719cb953b413d5dab9d72039f1c37.png

那么 MyBatis 又是如何处理一对多级联查询的呢?在实际生活中一对多级联关系有许多,例如一个用户可以有多个订单,而一个订单只属于一个用户。

在一对多和多对多的 查询中,用元素,原理和一对一差不多

892fd21ffbc05343d01b2e0334dc95bd.png

多对多查询是两个一对多查询

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录