shop--7.店铺信息编辑--Dao层

Posted windbag7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shop--7.店铺信息编辑--Dao层相关的知识,希望对你有一定的参考价值。

根据ShopId获取店铺信息

店铺编辑

首先需要获取店铺的信息,然后在此基础上更改

编写店铺查询Shop queryByShopId(long shopId);

但是呢,查询店铺的时候也会返回一些别的信息如ShopCategory、Area等信息

技术分享图片

所以resultType就不能封装了,使用的是联合查询

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

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

JavaEE--Mybatis学习笔记(五)--关联关系查询

 

ResultMap的定义

 1     <resultMap type="com.ryanxu.o2o.entity.Shop" id="shopMap">
 2         <id column="shop_id" property="shopId" />
 3         <result column="shop_name" property="shopName" />
 4         <result column="shop_desc" property="shopDesc" />
 5         <result column="shop_addr" property="shopAddr" />
 6         <result column="phone" property="phone" />
 7         <result column="shop_img" property="shopImg" />
 8         <result column="priority" property="priority" />
 9         <result column="create_time" property="createTime" />
10         <result column="last_edit_time" property="lastEditTime" />
11         <result column="enable_status" property="enableStatus" />
12         <result column="advice" property="advice" />
13         <association property="area" column="area_id"
14             javaType="com.ryanxu.o2o.entity.Area">
15             <id column="area_id" property="areaId" />
16             <result column="area_name" property="areaName" />
17         </association>
18         <association property="shopCategory"
19             column="shop_category_id"
20             javaType="com.ryanxu.o2o.entity.ShopCategory">
21             <id column="shop_category_id" property="shopCategoryId" />
22             <result column="shop_category_name"
23                 property="shopCategoryName" />
24         </association>
25         <association property="owner" column="user_id"
26             javaType="com.ryanxu.o2o.entity.PersonInfo">
27             <id column="user_id" property="userId" />
28             <result column="name" property="name" />
29         </association>
30     </resultMap>
其中association就是关联到其他表的

 

SQL语句

    <select id="queryByShopId" resultMap="shopMap"
        parameterType="Long">
        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.enable_status,
        s.advice,
        a.area_id,
        a.area_name,
        sc.shop_category_id,
        sc.shop_category_name
        FROM
        tb_shop s,
        tb_area a,
        tb_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>

 

以上是关于shop--7.店铺信息编辑--Dao层的主要内容,如果未能解决你的问题,请参考以下文章

shop--7.店铺信息编辑--Service层(包括更新店铺,对照片的处理)

校园商铺-6店铺编辑列表和列表功能-5店铺列表展示之Dao层的实现

shop--8.店铺列表展示--Dao层

校园商铺-4店铺注册功能模块-11店铺类别区域信息的获取

医美小程序实战教程-店铺信息编辑后提交

shop--8.店铺列表展示--Service层