MyBatis的关联映射

关联关系概述

在关系型数据库中,多表之间存在着三种关联关系,分别为一对一、一对多和多对多。

  • 一对一:在任意一方引入对方主键作为外键。
  • 一对多:在“多”的一方,,添加“一”的一方的主键作为外键。
  • 多对多:产生中间关系表,引入两张表的主键作为外键,两个主键成为联合主键或使用新的字段作为主键。

对象之间也存在着三种关联关系。

  • 一对一的关系:就是在本类中定义对方类型的对象,如A类中定义B类类型的属性b,B类中定义A类类型的属性a。
  • 一对多的关系:就是一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a。
  • 多对多的关系:在A类中定义B类类型的集合,在B类中定义A类类型的集合。

关联关系

一对一

一个学生只有一本学生证
元素中,包含了一个< association>子元素,MyBatis就是通过该元素来处理一对关联关系的。
< association>元素有如下两种配置方式:








** StudentIdCardMapper.xml**:




	
	

StudentMapper.xml:




	
	
	
 	
	    
	    
	
	
	


一对多

一个班级有多个学生
元素中,包含了一个 子元素,MyBatis就是通过该元素来处理一对多关联关系的

< collection>元素可以参考如下两种示例进行配置,具体代码如下。








BanjiMapper.xml:




	
	
	
		
		
		
		
			
			

		
	

多对多

学生和课程
MyBatis的关联映射_第1张图片
CourseMapper.xml:




	
	
	
		
		
		
		
		
	

StudentMapper.xml:




	


你可能感兴趣的:(MyBatis的关联映射)