目錄
1. 一對一
如一個身份證對應一個人
1.1 可以使用實體類繼承關係(使用較少)
1.2 (常用)在本實體類中直接添加一對一的實體屬性在進行getter和setter
1.3 在映射文件中應使用resultMap作爲返回值
在一對一使用的是association 、javaType和column連接的列
其中javaType可以使用別名來減少代碼量
2.一對多
例如:stuinfo對classinfo
2.1 在包含多的實體類中加入List來包含
如一個用戶有多個賬戶,主表實體包含從表實體集合的引用
2.2 從表應包含一個主表對象的引用
2.3 mapper映射文件中返回值應該是resultMap
一對多 使用collection 標籤 屬性爲ofType
其中ofType也可以使用別名
3.多對多
例如:用戶和角色,一個用戶可以有多個角色,一個角色可以有多個用戶
需要使用中間表
3.1 中間表應該包含兩個表的主鍵(中間表不需要實體類)
3.2 角色表
應該包含另一個表的集合
3.3用戶表應該也包含角色集合
//多對多的關係映射:一個用戶可以具備多個角色
private List<Role> roles;
public List<Role> getRoles() {
return roles;
}
public void setRoles(List<Role> roles) {
this.roles = roles;
}
3.4 mapper映射文件
與一對多類似