Day15. 高级查询 一对多映射关系 -MyBatis高级

文章目录

1.collection集合的嵌套结果映射

1.1 基本使用

association类似,集合的嵌套结果映射就是通过一次SQL查询将所有的结果查询出来,然后通过配置的结果映射,将数据映射到不同的对象中去。

准备数据

一个用户有多个角色,一个角色又有多种权限

//用户实体类
public class User {
    private Integer id;
    private String username;
    private String password;
    //一对多:一个用户对应多种角色
    private List<Role> role;
}
//角色类
public class Role {
    private Integer id;
    private String role;
    private Date createDate;
}

如何查询出全部用户及其角色

UserMapper.xml

    <resultMap id="userRoleListMap" type="com.example.pojo.User">
        <id property="id" column="id"/>
        <result property="username" column="username"/>
        <result property="password" column="password"/>
        <collection property="roleList" columnPrefix="role_"
                    javaType="com.example.pojo.Role">
            <id property="id" column="id"/>
            <result property="role" column="role"/>
            <result property="createDate" column="create_date"/>
        </collection>
    </resultMap>

上一篇:简介Python设计模式中的代理模式与模板方法模式编程


下一篇:c#并行任务多种优化方案分享(异步委托)