本质:配置结果集和实体类的映射关系,而在实体类中,存在实体的属性为另一个实体(或集合)的情况,使用resultMap进行配置,把结果集中的列名和实体类中的属性名进行映射。

order类:

MyBatis多表操作xml方式

user类:

MyBatis多表操作xml方式

role类:

MyBatis多表操作xml方式

使用resultMap标签配置映射关系

resultMap标签

				   type 属性:指定封装的JavaBean的类型,可以使用别名

id子标签:用于指定主键列

						column属性:结果集中的列名
						property属性:JavaBean的属性名

result子标签:用于指定普通列

						column属性:结果集中的列名
						property属性:JavaBean的属性名

MyBatis多表操作xml方式

association标签:用于指定一对一的映射

				property属性:JavaBean的属性名,是嵌套的JavaBean的名称
				javaType属性:嵌套的JavaBean的类型

id子标签:用于指定主键列

								column属性:结果集中的列名
								property属性:JavaBean的属性名

result子标签:用于指定普通列

								column属性:结果集中的列名
								property属性:JavaBean的属性名

MyBatis多表操作xml方式

association标签另一种配置:

							select属性:指定另一个statement,调用它得到一个结果赋给嵌套的JavaBean属性
							column属性:指定调用statement时传递的参数,从结果集的列中获取

MyBatis多表操作xml方式

MyBatis多表操作xml方式

一对多(多对多)

使用resultMap标签配置映射关系(与上文一样)

collection标签用于指定一对多的映射

						property:JavaBean的属性名,是嵌套的JavaBean的名称
						ofType: 集合中泛型的类型

id子标签:用于指定主键列

								column属性:结果集中的列名
								property属性:JavaBean的属性名

result子标签:用于指定普通列

								column属性:结果集中的列名
								property属性:JavaBean的属性名

MyBatis多表操作xml方式

另一种配置

							select属性:指定另一个statement,调用它得到一个结果赋给嵌套的JavaBean属性
							column属性:指定调用statement时传递的参数,从结果集的列中获取

MyBatis多表操作xml方式

MyBatis多表操作xml方式

多对多:

MyBatis多表操作xml方式

MyBatis多表操作xml方式

相关文章: