本質:配置結果集和實體類的映射關系,而在實體類中,存在實體的屬性為另一個實體(或集合)的情況,使用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時傳遞的參數,從結果集的列中獲取