微信点餐SpringBoot-05:买家商品---Dao层的实现

0. 简介

主要完成两个功能:
1、添加买家商品
2、根据商品状态查看商品是够上架

1. ProductInfo实体类

import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Proxy;

import javax.persistence.Entity;
import javax.persistence.Id;
import java.math.BigDecimal;

/**
 * @author hh
 * 商品实体类
 *
 * 商品实体类和商品类目类通过商品类目编号来关联
 */

@Data
@Entity
@Proxy(lazy = false)
@NoArgsConstructor
public class ProductInfo {

    @Id
    private String productId;

    //商品名称
    private String productName;

    //商品价格
    private BigDecimal productPrice;

    //商品库存
    private Integer productStock;

    //商品描述
    private String productDescription;

    //商品小图
    private String productIcon;

    //商品状态,0正常,1下架
    private Integer productStatus;

    //商品类目编号
    private Integer categoryType;
}

2. ProductInfoRepository接口

import com.hh.dataobject.ProductInfo;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

public interface ProductInfoRepository extends JpaRepository<ProductInfo,String> {
    /**
     * 通过商品的状态来查询上架的商品
     * @param productStatus
     * @return
     */
    List<ProductInfo> findByProductStatus(Integer productStatus);
}

3. ProductInfoRepositoryTest测试类

在这里插入图片描述

import com.hh.dataobject.ProductInfo;
import org.junit.Assert;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.math.BigDecimal;
import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest
class ProductInfoRepositoryTest {
    @Autowired
    private ProductInfoRepository repository;
    
	//测试添加商品
    @Test
    public void saveTest(){
        ProductInfo productInfo = new ProductInfo();
        //设置商品Id
        productInfo.setProductId("123456");
        productInfo.setProductName("皮蛋粥");
        productInfo.setProductPrice(new BigDecimal(3.2));
        productInfo.setProductStock(100);
        productInfo.setProductDescription("很好喝的哦");
        productInfo.setProductIcon("http://pidan.jpg");
        productInfo.setProductStatus(0);
        //注意:这个商品类目编号一定要在数据库中存在才可以
        productInfo.setCategoryType(2);

        ProductInfo result = repository.save(productInfo);
        Assert.assertNotNull(result);
    }
	
	//测试根据商品状态查看商品是否上架
    @Test
    void findByProductStatus() {
        List<ProductInfo> productInfoList = repository.findByProductStatus(0);
        Assert.assertNotEquals(0,productInfoList.size());
    }
}

在这里插入图片描述

发布了665 篇原创文章 · 获赞 115 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_42764468/article/details/104722243