• MyBatis联合查询association使用


    1.需求

      两张表 channels(频道表)  member(会员表) 频道表里面有会员id,查询频道列表的时候需要关联查询出会员的名称,头像等信息 。

    2.channels.xml定义,配置主要在这里

    <!-- 频道返回值定义 -->
    <resultMap id="BaseResultMap" type="com.model.Channels" >
        <id column="id" property="id" jdbcType="INTEGER" />
        <result column="asset_id" property="assetId" jdbcType="VARCHAR" />
        <result column="asset_name" property="assetName" jdbcType="VARCHAR" />
        <!-- 关联查询出会员信息,member_id是channels表中外键 -->
        <association property="memberInfo" column="member_id" select="findByMemberId"></association>
    </resultMap>
    <!-- 会员信息返回值定义 -->
    <resultMap id="memberResultMap" type="com.model.Member" >
        <id column="id" property="id" jdbcType="INTEGER" />
        <result column="nick_name" property="nickName" jdbcType="VARCHAR" />
        <result column="member_icon" property="memberIcon" jdbcType="VARCHAR" />
        <result column="mobile_phone" property="mobilePhone" jdbcType="VARCHAR" />
        <result column="last_login_time" property="lastLoginTime" jdbcType="TIMESTAMP" />
    </resultMap>
    <!-- 查询会员信息 -->
    <select id="findByMemberId"  resultMap="memberResultMap" parameterType="java.lang.String" >
        select id, nick_name,member_icon, mobile_phone,last_login_time
        from ao_member_tab
        where id = #{id,jdbcType=VARCHAR}
    </select>

    3. Channels表模型定义

    <!-- 频道Model定义 -->
    public class Channels {
    
        private String assetId;
    
        private String assetName;
    
        //会员信息
        private Member memberInfo;
    }

    4. 这样查询列表中就可以通过channel.memberInfo获取到Member对像,就可以直接获取到会员信息了

    参考:http://www.cnblogs.com/xdp-gacl/p/4264440.html

  • 相关阅读:
    html学习总结
    16--二叉树的镜像
    17-- 从上到下打印二叉树,按层打印。
    14--反转链表
    14--合并两个排序的链表
    15-- 输入两个二叉树A和B,判断B树是否包含于A树。
    13--输入一个整数数组,实现一个函数来调整数组中数字的顺序
    13--输出链表中倒数第k个节点,
    12--打印1到最大的N为数字。
    10--输入一个十进制的整数,转化为二进制,输出有多少个1
  • 原文地址:https://www.cnblogs.com/liuchao102/p/4588953.html
Copyright © 2020-2023  润新知