MyBatis--高级查询(一)

    科技2022-08-04  106

    一对一映射

    假设在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 selectUserAndRoleById(Long id);

    UserMapper.xml文件:

    <select id="selectUserAndRoleById" parameterType="long" resultType&#
    Processed: 0.020, SQL: 9