mybatis中的关联查询
(尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_39778516/article/details/84191429 consistencely的博客)
一对一
一对多
多对一
多对多
Mybatis中将多对一 看成了一对一
1、一对一查询:Account –> User
1)、在Account实体类中引用User类
2)、在IAccount.xml文件中配置关系映射
标签用于配置一对一关系映射
Accociation标签的属性:
Property:对应的是Account实体类中的user属性
Column:对应的是关联的外键
javaType:指的是association标签内容封装的是哪个实体类
2、一对多:User—> Account
1)、在User类中定义一个Account的List集合
标签用于配置一对多关系映射
collection中的属性:
Property:对应的是User实体类中的accounts属性
ofType:定义的是collection内容封装的实体类account
注意:collection中的javaType指的是封装成的实体类是一个list集合,不同于association中的javaType,可写可不写
3,多对多:User <-- > Role 难点:在于SQL语句的编写
分析:在查询User时,将所对应的Role全部查出来
在查询Role时,将所对应的User全部查出来
相当于实现两个一对多的查询
1)、查询所有用户,并且将用户对应的所有角色都查出来
2)、查询所有角色,并且将角色对应的所有用户都查出来