zoukankan      html  css  js  c++  java
  • 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.注意:配置文件中,集合的字段跟父级字段相同,只返回一条集合数据。需要修改配置文件中集合的字段名称。

  • 相关阅读:
    jquery水印插件:placeholder
    EF POWER TOOLS由数据库逆向CODE FIRST
    .NET重构(类型码的设计、重构方法)
    CodeUI Test:创建第一个CodeUI Test
    Windows 8 Store Apps
    ASP.NET MVC 使用MSBuild部署的几个注意事项
    c#中如何跨线程调用windows窗体控件
    Restful?
    Javascript的一种代码结构方式——插件式
    AOP编程
  • 原文地址:https://www.cnblogs.com/kerwincui/p/15218548.html
Copyright © 2011-2022 走看看