一对一映射
假设在RBAC权限系统中,一个用户只能拥有一个角色,把用户和角色之间的关系限制为一对一的关系,一对一映射不需要考虑是否存在重复数据
- 使用自动映射处理一对一的关系,一个用户拥有一个角色,在SysUser类中增加SysRole属性,其余属性保持不变
/**
* 用户角色
* @return
*/
private SysRole role;
public SysRole getRole() {
return role;
}
public void setRole(SysRole role) {
this.role = role;
}
自动映射就是通过别名让MyBatis自动将值匹配到对应的字段上,简单的别名映射如user_name对应userName,除此之外,Mybatis还支持复杂的属性映射,可以多层嵌套,例如将role.role_name映射到role.roleName上,MyBatis会先查找role属性,如果存在role属性就创建role对象,然后再role对象中继续查找roleName,将role_name的值绑定到role对象的roleName属性上
UserMapper接口:
//根据用户ID查询用户信息和角色信息
SysUser s