• mybatis: 高级结果映射resultMap


    【参考文章】: 官网地址

    将查询的字段信息映射为一个复杂对象

    1. 对象信息

        public class Blog{
        	String id;
        	String title;
        	String type;
        	String info;
        	String createUserId;
            String createUserName;
        	User   user;
        	List<Tag> tagList;
        }
    
        public class Tag{
        	String id;
        	String blogId;
        	String tagName;
        	String desc;
        }
    
        public class User{
        	String id;
        	String userName;
        	String password;
        }
    

    2. resultMap配置

    1. 没有特殊配置的字段,默认按照默认规则映射到实体属性
        <resultMap id="resultMap" type="com.skd.entity.Blog" >
            <id property="id" column="id"/>
            <!-- 引用类型属性 -->
            <association property="user" javaType="com.skd.entity.User">
                <result property="id" column="create_user_id"/>
                <result property="userName" column="create_user_name"/>
            </association>
            <!-- 集合类型属性 -->
            <collection 
                property="tagList"              <!-- 集合类型属性名称 -->
                ofType="com.skd.entity.Tag"     <!-- 集合元素类型 -->
                column="{blog_id=id}"           <!-- 使用Blog的id字段作为子查询的blog_id参数值 -->
                select="getTagListByBlogId">    <!-- 调用子查询 -->
            </collection>
            <!-- 根据某个字段值使用不同的SQL字段填充对象属性 -->
            <discriminator javaType="String" column="type">
                <case value="SPECIAL">
                    <result property="info" column="s_info"/>
                </case>
                <case value="GENERAL">
                    <result property="info" column="g_info"/>
                </case>
            </discriminator>
        </resultMap>
    
  • 相关阅读:
    获取bootstrap table数据并封装 为json
    不自动切换eclipse视图
    over 分析函数之 lag() lead()
    oracle日期的处理
    表空间的创建
    分析函数 over用法 之row_number() runk_number
    oracle 序列
    Laravel 5
    使用hexo+github搭建免费个人博客详细教程
    windows7设置定时任务运行ThinkPHP框架程序
  • 原文地址:https://www.cnblogs.com/virgosnail/p/16146292.html
Copyright © 2020-2023  润新知