千峰商城-springboot项目搭建-73-购物车列表数据库实现

追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

导读:本篇文章讲解 千峰商城-springboot项目搭建-73-购物车列表数据库实现,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一、流程分析
  

千峰商城-springboot项目搭建-73-购物车列表数据库实现

二、数据库实现

SQL:

#根据用户id查询当前用户的购物车信息
SELECT c.*,p.product_name,i.url
FROM shopping_cart c 
INNER JOIN product p
INNER JOIN product_img i
ON c.product_id=p.product_id AND i.item_id=p.product_id
WHERE user_id=14 AND i.is_main=1;

实体类:

ShoppingCartVO :
//新增productName,productImg属性
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ShoppingCartVO {

    private Integer cartId;
    private String productId;
    private String skuId;
    private String userId;
    private String cartNum;
    private String cartTime;
    private BigDecimal productPrice;
    private String skuProps;
    
    private String productName;
    private String productImg;

    
}

三、接口实现

 1.接口定义查询方法:

ShoppingCartMapper :
@Repository
public interface ShoppingCartMapper extends GeneralDAO<ShoppingCart> {
    
    public List<ShoppingCartVO> selectShopcartByUserId(int userId);
}

2.映射配置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qfedu.fmmall.dao.ShoppingCartMapper">
  <resultMap id="BaseResultMap" type="com.qfedu.fmmall.entity.ShoppingCart">
    <!--
      WARNING - @mbg.generated
    -->
    <id column="cart_id" jdbcType="INTEGER" property="cartId" />
    <result column="product_id" jdbcType="VARCHAR" property="productId" />
    <result column="sku_id" jdbcType="VARCHAR" property="skuId" />
    <result column="user_id" jdbcType="VARCHAR" property="userId" />
    <result column="cart_num" jdbcType="VARCHAR" property="cartNum" />
    <result column="cart_time" jdbcType="VARCHAR" property="cartTime" />
    <result column="product_price" jdbcType="DECIMAL" property="productPrice" />
    <result column="sku_props" jdbcType="VARCHAR" property="skuProps" />
  </resultMap>

  <resultMap id="ShoppingCartVOMap" type="com.qfedu.fmmall.entity.ShoppingCartVO">
    <!--
      WARNING - @mbg.generated
    -->
    <id column="cart_id" jdbcType="INTEGER" property="cartId" />
    <result column="product_id" jdbcType="VARCHAR" property="productId" />
    <result column="sku_id" jdbcType="VARCHAR" property="skuId" />
    <result column="user_id" jdbcType="VARCHAR" property="userId" />
    <result column="cart_num" jdbcType="VARCHAR" property="cartNum" />
    <result column="cart_time" jdbcType="VARCHAR" property="cartTime" />
    <result column="product_price" jdbcType="DECIMAL" property="productPrice" />
    <result column="sku_props" jdbcType="VARCHAR" property="skuProps" />
    <result column="product_name" jdbcType="DECIMAL" property="productName" />
    <result column="url" jdbcType="VARCHAR" property="productImg" />
    
  </resultMap>
  
  <select id="selectShopcartByUserId" resultMap="ShoppingCartVOMap">
    SELECT c.cart_id,
           c.product_id,
           c.sku_id,
           c.user_id,
           c.cart_num,
           c.cart_time,
           c.product_price,
           c.sku_props,
           p.product_name,
           i.url
    FROM shopping_cart c
    INNER JOIN product p
    INNER JOIN product_img i
    ON c.product_id=p.product_id 
    AND i.item_id=p.product_id
    WHERE user_id=#{userId} AND i.is_main=1;
  </select>
</mapper>

 3.测试:

   @Autowired
    private ShoppingCartMapper shoppingCartMapper;

    @Test
    public void testShoppingCart(){
        List<ShoppingCartVO> shoppingCartVOS = shoppingCartMapper.selectShopcartByUserId(1);
        System.out.println(shoppingCartVOS);
    }

 

千峰商城-springboot项目搭建-73-购物车列表数据库实现

 千峰商城-springboot项目搭建-73-购物车列表数据库实现

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/128098.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!