本质:配置结果集和实体类的映射关系,而在实体类中,存在实体的属性为另一个实体(或集合)的情况,使用resultMap进行配置,把结果集中的列名和实体类中的属性名进行映射。
一对一(多对一):
order类:
user类:
role类:
使用resultMap标签配置映射关系
resultMap标签
type 属性:指定封装的JavaBean的类型,可以使用别名
id子标签:用于指定主键列
column属性:结果集中的列名
property属性:JavaBean的属性名
result子标签:用于指定普通列
column属性:结果集中的列名
property属性:JavaBean的属性名
association标签:用于指定一对一的映射
property属性:JavaBean的属性名,是嵌套的JavaBean的名称
javaType属性:嵌套的JavaBean的类型
id子标签:用于指定主键列
column属性:结果集中的列名
property属性:JavaBean的属性名
result子标签:用于指定普通列
column属性:结果集中的列名
property属性:JavaBean的属性名
association标签另一种配置:
select属性:指定另一个statement,调用它得到一个结果赋给嵌套的JavaBean属性
column属性:指定调用statement时传递的参数,从结果集的列中获取
一对多(多对多)
使用resultMap标签配置映射关系(与上文一样)
collection标签用于指定一对多的映射
property:JavaBean的属性名,是嵌套的JavaBean的名称
ofType: 集合中泛型的类型
id子标签:用于指定主键列
column属性:结果集中的列名
property属性:JavaBean的属性名
result子标签:用于指定普通列
column属性:结果集中的列名
property属性:JavaBean的属性名
另一种配置
select属性:指定另一个statement,调用它得到一个结果赋给嵌套的JavaBean属性
column属性:指定调用statement时传递的参数,从结果集的列中获取