目录
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映射文件
与一对多类似