• Mybatis内嵌对象或者集合


    1.嵌套集合、对象的类

    public class SysUser implements Serializable {
        //普通String属性
        private String userId;
        private String userName;
        private String userPhone;
        private String userPassword;
        private String userLastLoginTime;
        private String userCreateTime;
        private String userStatus;
        //对象属性
        private UserRole userRole;
        //对象集合属性
        private List<Role> roles;
    
    }
    
    public class UserRole implements Serializable {
        private String userRoleId;
        private String userId;
        private String roleId;
        private String userRoleStatus;
    }
    
    
    
    public class Role implements Serializable {
        private String roleId;
        private String roleCode;
        private String roleName;
        private String roleDesc;
        private String roleStatus;
    }
    

    2.嵌套集合、对象的配置文件

    <!--根据用户名查找用户-->
    <select id="findByName" resultMap="SysUser">
        SELECT su.* ,ur.*,r.*
        FROM sys_user AS su LEFT JOIN user_role AS ur ON su.`user_id` = ur.`user_id`
                            LEFT JOIN role AS r ON ur.`role_id` = r.`role_id`
                            WHERE su.`user_phone` = #{username}
    </select>
    
    
    <resultMap id="SysUser" type="xyz.lande.demo.entity.SysUser">
        <id property="userId" column="user_id"></id>
        <result property="userName" column="user_name "></result>
        <result property="userPhone" column="user_phone"></result>
        <result property="userPassword" column="user_password"></result>
        <result property="userLastLoginTime" column="user_last_login_time"></result>
        <result property="userCreateTime" column="user_create_time"></result>
        <result property="userStatus" column="user_status"></result>
        <!--UserRole对象-->
        <association property="userRole" javaType="xyz.lande.demo.entity.UserRole">
            <id property="userRoleId" column="user_role_id"></id>
            <result property="userId" column="user_id"></result>
            <result property="roleId" column="role_id"></result>
            <result property="userRoleStatus" column="user_role_status"></result>
        </association>
        <!--Role对象List集合-->
        <collection property="roles" ofType="xyz.lande.demo.entity.Role">
            <id property="roleId" column="role_id"></id>
            <result property="roleCode" column="role_code"></result>
            <result property="roleName" column="role_name"></result>
            <result property="roleDesc" column="role_desc"></result>
            <result property="roleStatus" column="role_status"></result>
        </collection>
    </resultMap>

    3.注意:配置文件中,集合的字段跟父级字段相同,只返回一条集合数据。需要修改配置文件中集合的字段名称。

  • 相关阅读:
    传Windows 9预览版今秋发布
    谷歌上市十周年 成长为全球第二大技术公司
    Twitter CEO:有望进军中国 不会改变原则
    免费获得NOD32 半年、1年 激活码-14.08.12到期
    卡巴斯基正式版2015 简体中文版已经发布
    Google 宣布支持中文邮箱地址
    图片:走进柯达电影胶片厂
    Microsoft Visual Studio Ultimate 2013 with Update 3 CN+EN
    DataFrame衍生新特征操作
    isolation forest进行异常点检测
  • 原文地址:https://www.cnblogs.com/kerwincui/p/15218548.html
Copyright © 2020-2023  润新知