zoukankan      html  css  js  c++  java
  • shop--7.店铺编辑和列表--联合查询的结果集封装ResultMap association collection

    店铺编辑

    首先获取店铺的信息,然后在此基础上进行改动

    编写店铺查询queryByShopId(long shopId)

    因为在查询店铺时,shop表中只含有

    这些PersonInfo,Area,ShopCategory的id,但是需要显示的是所有者的名字,区域的名字和店铺分类的名字,所以,需要进行联合查询

     而且Shop类中

    也是这些类,而不是它们的id

    在进行联合查询时,接收联合查询的返回值不能这样单纯的定义为Shop,而要将信息封装为一个ResultMap 

    使用association定义关联的单个对象的封装规则;

    JavaEE——Mybatis(5)--resultMap自定义结果集封装

    ResultMap定义

    <!--使用ResultMap自定义结果集封装-->
        <resultMap id="shopMap" type="com.shop.bean.Shop">
            <id column="shop_id" property="shopId"/>
            <result column="shop_name" property="shopName"/>
            <result column="shop_desc" property="shopDesc"/>
            <result column="shop_addr" property="shopAddr"/>
            <result column="phone" property="phone"/>
            <result column="shop_img" property="shopImg"/>
            <result column="priority" property="priority"/>
            <result column="create_time" property="createTime"/>
            <result column="last_edit_time" property="lastEditTime"/>
            <result column="status" property="status"/>
            <result column="advice" property="advice"/>
            <association property="area" column="area_id" javaType="com.shop.bean.Area">
                <id column="area_id" property="areaId"/>
                <result column="area_name" property="areaName"/>
            </association>
            <association property="owner" column="owner_id" javaType="com.shop.bean.PersonInfo">
                <id column="user_id" property="userId"/>
                <result column="user_name" property="userName"/>
            </association>
            <association property="shopCategory" column="shop_category_id" javaType="com.shop.bean.ShopCategory">
                <id column="shop_category_id" property="shopCategoryId"/>
                <result column="shop_category_name" property="shopCategoryName"/>
            </association>
        </resultMap>
    

      

    SQL语句

    <!--public Shop queryByShopId(long shopId);-->
        <select id="queryByShopId" parameterType="java.lang.Long" resultMap="shopMap">
            SELECT
            s.shop_id,
            s.shop_name,
            s.shop_desc,
            s.shop_addr,
            s.phone,
            s.shop_img,
            s.priority,
            s.create_time,
            s.last_edit_time,
            s.status,
            s.advice,
            a.area_id,
            a.area_name,
            sc.shop_category_id,
            sc.shop_category_name
            FROM
            shop s,
            area a,
            shop_category sc
            WHERE
            s.area_id=a.area_id
            AND
            s.shop_category_id=sc.shop_category_id
            AND
            s.shop_id=#{shopId}
        </select>
    

      

      

  • 相关阅读:
    一种动态部署JBoss应用的简单方法
    虚拟机启动的一个Bat文件(启动虚拟机.bat)
    Windows 设置了文件夹共享,删除默认Everyone共享,设置其他用户共享之后打不开的问题
    命令按钮怎么直接指定带参数的宏?
    bat延时
    wrapper.java.additional
    win7下vc6.0的安装
    UVA10391
    UVALive3708
    C++红黑树(类模板实现)
  • 原文地址:https://www.cnblogs.com/SkyeAngel/p/8888820.html
Copyright © 2011-2022 走看看