2、商品的dao和service
来源:互联网 发布:幼儿英语教学软件 编辑:程序博客网 时间:2024/06/06 05:47
1、创建产品的实体类
@Entity@Data@DynamicUpdatepublic 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 = ProductStatusEnum.UP.getCode(); /** 类目编号. */ private Integer categoryType; /** 创建时间 */ private Date createTime; /** 更新时间 */ private Date updateTime;}
对于已上架和未上架的商品,我们需要用枚举类进行表示:
@Getterpublic enum ProductStatusEnum { UP(1,"上架"), DOWN(2,"下架"); private Integer code; private String message; ProductStatusEnum(Integer code,String message){ this.code = code; this.message = message; }}
2、商品的dao及测试
public interface ProductInfoDao extends JpaRepository<ProductInfo,String> { List<ProductInfo> findByProductStatus(Integer productStatus);}
@RunWith(SpringRunner.class)@SpringBootTest@Slf4jpublic class ProductInfoDaoTest { @Autowired private ProductInfoDao productInfoDao; @Test public void findUpProducts() throws Exception { } @Test public void SaveTest() { ProductInfo p = new ProductInfo(); p.setProductId("125"); p.setProductName("脉动"); p.setProductPrice(new BigDecimal(4.3)); p.setProductDescription("好喝的脉动"); p.setProductIcon("http://xxx"); p.setCategoryType(3); p.setProductStock(100); p.setProductStatus(ProductStatusEnum.UP.getCode()); ProductInfo productInfo = productInfoDao.save(p); assertNotNull(productInfo); } @Test public void findOneTest(){ ProductInfo productInfo = productInfoDao.findOne("123"); assertNotNull(productInfo); } @Test public void findByProductStatusTest(){ List<ProductInfo> productInfoList = productInfoDao.findByProductStatus(0); assertEquals(2,productInfoList.size()); }}
3、商品的service及测试:
public interface ProductService { /*根据商品的id获取商品信息*/ ProductInfo findProductById(String productId); /*获取所有商家商品*/ List<ProductInfo> findAllUpProducts(); /*查询所有商品(分页)*/ Page<ProductInfo> findAll(Pageable pageable); //加库存 //TODO //减库存 //TODO}
对应的实现类:
@Servicepublic class ProductServiceImpl implements ProductService{ @Autowired private ProductInfoDao productInfoDao; @Override public ProductInfo findProductById(String productId) { return productInfoDao.findOne(productId); } @Override public List<ProductInfo> findAllUpProducts() { return productInfoDao.findByProductStatus(ProductStatusEnum.UP.getCode()); } @Override public Page<ProductInfo> findAll(Pageable pageable) { return productInfoDao.findAll(pageable); }}
测试:
@RunWith(SpringRunner.class)@SpringBootTestpublic class ProductServiceImplTest { @Autowired private ProductService productService; @Test public void findProductById() throws Exception { ProductInfo productInfo = productService.findProductById("123"); assertNotNull(productInfo); } @Test public void findAllUpProducts() throws Exception { List<ProductInfo> productInfoList = productService.findAllUpProducts(); assertEquals(2,productInfoList.size()); } @Test public void findAll() throws Exception { PageRequest request = new PageRequest(0,10); Page<ProductInfo> productInfoList = productService.findAll(request); assertEquals(3,productInfoList.getTotalElements()); }}
4、测试通过之后,就可以将类目和商品整合起来了。代码见3.0
阅读全文
0 0
- 2、商品的dao和service
- DAO和Service层的一些解释
- DAO和Service层的一些理解
- dao层和service层的重用
- DAO和Service层的一些解释
- dao和service的分层意义
- dao层和service层的区别
- SSM 关于service和dao的封装
- DAO和Service层的一些解释
- dao和service
- (二)DAO和Service
- dao和service
- 商品管理service和controller
- 基于HibernateTemplate的dao和service文件的自动生成
- 关于ssh框架的service和dao的注入问题
- dao层和service层的同时存在的意义
- dao层和service层
- dao层和service层
- Linux常用命令大全
- 1002. 写出这个数 (20)
- 1、基础的搭建和测试
- JavaScript 对象
- nlp简单深度模型的代码套路
- 2、商品的dao和service
- Java学习(二) Java基础知识
- 3、商品和类目的controller
- java EE
- 4、订单
- 第十四周java作业
- 水深火热
- 5、部署在本机环境
- Oracle Database 11g Express Edition is already configured