一.MyBatis的关联查询
在关系型数据库中,我们经常要处理一对多,多对一和多对多的关系。
(1).MyBatis一对一关联查询总结
MyBatis中使用association标签来解决一对一的关联查询,association标签可用的属性如下:
property:对象属性的名称
javaType:对象属性的类型
column:所对应的外键字段名称
select:使用另一个查询封装的结果
(2)关联映射一对多
MyBatis中使用collection标签来解决一对多的关联查询,ofType属性指定集合中元素的对象类型
列:一个老师对应多名学生
一个部门对应多个员工
Xml主要代码:
(3).关联映射多对一
反过来,多个人对一个国家。每个人只对一个国家。当然不考虑双重国籍的吵架问题。
由于查询多对象时,也是一个一个查的。所以:一对一关联查询的实现方式与多对一的实现方式是相同的
1)实体类稍有变化:
国家没有了Set<People>人成员变量,人有了国家成员变量
Dao接口
mapper.xml配置文件
4)测试输出
备注:
Country类中可以不删除Set<People>peoples ; 成员变量。
People类中可以一直有Countrycountry;成员变量。
去掉是为了便于理解一对多、多对一
(4)多对多关系
一个学生可以选多门课程,而一门课程可以由多个学生选择,这就是一个典型的多对多关联关系。所谓多对多关系,其实是由两个互反的一对多关系组成。即多对多关系都会通过一个中间表来建立,例如选课表。学生对于选课表来说是一对多,课程对于选课表来说也是一对多。
标签:关系,查询,选课,关联,MyBatis,一对 来源: https://www.cnblogs.com/qinzhenyu/p/11668866.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。