• 在dataobject文件夹创建订单表和订单详情表的实体类

    package com.imooc.dataobject;import com.imooc.enums.OrderStatusEnum;
    import com.imooc.enums.PayStatusEnum;
    import lombok.Data;
    import org.hibernate.annotations.DynamicUpdate;import javax.persistence.Entity;
    import javax.persistence.Id;
    import java.math.BigDecimal;
    import java.util.Date;/*** Created by Cdy1234 on 2018/7/24.*订单主表*/
    @Entity
    @Data
    @DynamicUpdate
    public class OrderMaster  {/**订单ID**/@Idprivate  String orderId;/**买家姓名**/private  String buyerName;/**买家电话**/private  String buyerPhone;/**买家地址**/private  String buyerAddress;/**买家微信openId**/private  String buyerOpenid;/**订单总金额**/private  BigDecimal orderAmount;/**订单状态 默认为0,代表新订单**/private  Integer orderStatus= OrderStatusEnum.NEW.getCode();/**支付状态 默认为0,代表未支付**/private  Integer payStatus= PayStatusEnum.WAIT.getCode();/**订单创建时间**/private  Date createTime;/**更新时间**/private  Date updateTime;}
    
    package com.imooc.dataobject;import lombok.Data;import javax.persistence.Entity;
    import javax.persistence.Id;
    import java.math.BigDecimal;/*** Created by Cdy1234 on 2018/8/7.*订单详情表*/
    @Entity
    @Data
    public class OrderDetail {@Idprivate String detailId;/**订单ID*/private String orderId;/**商品ID*/private String productId;/**商品名称*/private String productName;/**商品价格*/private BigDecimal productPrice;/**商品数量*/private Integer productQuantity;/***商品图片*/private String productIcon;}
    

    在DAO层创建对订单表的操作,继承JpaRepository,编写思路,订单详情是通过订单id查询,可能返回多个结果。所以是返回个list集合。

  • package com.imooc.repository;import com.imooc.dataobject.OrderDetail;
    import org.springframework.data.jpa.repository.JpaRepository;import java.util.List;/*** Created by Cdy1234 on 2018/8/11.* 订单详情表dao*/public interface OrderDetailRepository extends JpaRepository<OrderDetail,String>{/*** 根据Orderid 来查询订单详情,返回一条以上的记录,使用list集合。* @param orderId 订单id* @return*/List<OrderDetail>findByOrderId(String orderId);}
    

    编写对订单主表的DAO层,继承JpaRepository,思路,查询用户的openid,可以是返回多个订单,所以返回一个Page。

  • package com.imooc.repository;import com.imooc.dataobject.OrderMaster;
    import org.springframework.data.domain.Page;
    import org.springframework.data.domain.Pageable;
    import org.springframework.data.jpa.repository.JpaRepository;/*** Created by Cdy1234 on 2018/8/8.* 订单主表表dao层*/public interface OrderMasterRepository extends JpaRepository<OrderMaster,String>{/*** 根据用户id查询订单详情* @param buyerOpenid 用户的微信Open* @param pageable    第几页* @return Page      页数和用户下的订单详情*/Page<OrderMaster>findByBuyerOpenid(String buyerOpenid, Pageable pageable);
    }
    

    测试DAO层OrderDetailRepository 的情况。右键OrderDetailRepository,选择go to--->Test

  • 选择所编写的方法。创建OrderDetailRepositoryTest ,测试Save方法, Assert.assertNotNull(result),只需要result不为空,就可以通过。

  • package com.imooc.repository;import com.imooc.dataobject.OrderDetail;
    import org.junit.Assert;
    import org.junit.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;/*** Created by Cdy1234 on 2018/8/17.* 订单详情表DAO层*/
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class OrderDetailRepositoryTest {@Autowiredprivate OrderDetailRepository repository;@Testpublic  void saveTest(){OrderDetail orderDetail=new OrderDetail();orderDetail.setDetailId("142342842988");orderDetail.setOrderId("1111321");orderDetail.setProductName("皮蛋粥");orderDetail.setProductIcon("http://xxx.jpg");orderDetail.setProductId("2332423");orderDetail.setProductPrice(new BigDecimal(12));orderDetail.setProductQuantity(20);OrderDetail result= repository.save(orderDetail);Assert.assertNotNull(result);}@Testpublic void testFindByOrderId() throws Exception {}
    }

    执行Save方法,数据表成功添加,测试成功。

  • 测试订单主表DAO层测试,同上。

  • package com.imooc.repository;import com.imooc.dataobject.OrderMaster;
    import org.junit.Assert;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.data.domain.Page;
    import org.springframework.data.domain.PageRequest;
    import org.springframework.test.context.junit4.SpringRunner;import java.math.BigDecimal;/*** Created by Cdy1234 on 2018/8/17.* 订单主表测试*/
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class OrderMasterRepositoryTest {@Autowiredprivate  OrderMasterRepository repository;private final String OPENID="110110";@Testpublic void SaveTest(){OrderMaster orderMaster=new OrderMaster();orderMaster.setOrderId("124323");orderMaster.setBuyerName("蔡中彩");orderMaster.setBuyerPhone("18060065761");orderMaster.setBuyerAddress("领袖天地");orderMaster.setBuyerOpenid(OPENID);orderMaster.setOrderAmount(new BigDecimal(2.3));OrderMaster result= repository.save(orderMaster);Assert.assertNotNull(result);}@Testpublic void testFindByBuyerOpenid() throws Exception {PageRequest requset=PageRequest.of(0,1);//调用PAgeRequest,该方法继承Pageable,Page<OrderMaster> result =repository.findByBuyerOpenid(OPENID,requset);Assert.assertNotEquals(0,result.getTotalElements());//不等于0,就运行通过System.out.println(result.getTotalElements());}
    }

    测试SaveTest方法。

  • 运行成功

  • 测试testFindByBuyerOpenid

  • 测试成功

SpringBoot 微信点餐系统学习记录六-订单表和订单详情表的后端开发相关推荐

  1. 第二课 SpringBoot微信点餐系统买家类目设计

    第二课 SpringBoot微信点餐系统买家类目设计 tags: Java 慕课网 categories: DAO层开发 service层开发 文章目录 第二课 SpringBoot微信点餐系统买家类 ...

  2. 学习笔记 | SpringBoot微信点餐系统实战课程笔记(一)、数据库设计与创建

    本系列是用于记录学习慕课网廖师兄的<新版微服务时代Spring Boot企业微信点餐系统>实战课程的实战中的遇到的问题.疑惑.重点笔记等.文章可能不成条理,请见谅.欢迎多多交流学习~ 0. ...

  3. (附源码)springboot微信点餐系统的设计与实现 毕业设计221541

    springboot点餐微信小程序 摘 要 点餐微信小程序采用B/S模式.采用JAVA语言.springboot框架.mysql数据库.小程序框架uniapp等开工具.促进了点餐微信小程序的业务发展. ...

  4. (附源码)springboot微信点餐系统的设计与实现 毕业设计221541

    springboot点餐微信小程序 摘 要 点餐微信小程序采用B/S模式.采用JAVA语言.springboot框架.mysql数据库.小程序框架uniapp等开工具.促进了点餐微信小程序的业务发展. ...

  5. springboot微信点餐系统的设计与实现 毕业设计- 附源码221541

    springboot点餐微信小程序 摘  要 点餐微信小程序采用B/S模式.采用JAVA语言.springboot框架.mysql数据库.小程序框架uniapp等开工具.促进了点餐微信小程序的业务发展 ...

  6. 基于Springboot微信点餐系统的开发与实现

    微信点餐数据库注意事项 商品表: 1:在企业级中,由于数据量是比较大的,所以id一般采用的是varchar,不采用int 2:凡是涉及到价格的统一采用decimal,例如本项目中单价如下: produ ...

  7. Linux②—概述与基本命令,springboot微信点餐系统百度云

    /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件. /media:linux系统会自动识别一些设备,例如U盘.光驱等等,当识别后,linux会把识别的设备挂载到 ...

  8. 实战 | SpringBoot微信点餐系统(附源码)

    点击上方"java进阶架构师",选择右上角"置顶公众号" 20大进阶架构专题每日送达 架构 前后端分离: 补充: setting.xml 文件的作用:setti ...

  9. SpringBoot微信点餐系统

    架构 前后端分离: 部署架构: Nginx与Tomcat的关系在这篇文章,几分钟可以快速了解: https://www.jianshu.com/p/22dcb7ef9172 补充: setting.x ...

最新文章

  1. wsdd文件是怎么生成的_Axis WSDD文件参考文档
  2. java基础-类加载学习笔记
  3. matlab调用mstg,实验五 双线性变换法设计IIR数字滤波器
  4. 【普通の随笔】6.30
  5. c++二进制转十进制_进制转换:二进制、八进制、十进制、十六进制相互转换
  6. 10.08-vscode-plantuml建模
  7. React Native应用实现步骤
  8. DEDECMS之九 文章采集
  9. eclipse配置python开发环境_Eclipse中配置python开发环境详解
  10. 1. Composer 简介
  11. java 数据库实现源锁_采用java和数据库两种方式进行加锁
  12. java|jsp类成品展示_jsp学生诚信素质评价系统
  13. WAP 1.X, WAP 2.0
  14. 设计师都在用这几个免费素材网站,赶紧马住
  15. 手机上网页是html,如何在手机上制作自己的网页
  16. apng java,免费的APNG、WebP格式转换工具-iSparta
  17. 创建oracle数据库到达梦数据库的dblink
  18. AutoCAD Civil3D 2023安装图文教程及下载
  19. elsearch mysql实时索引_MySQL和Lucene(Elasticsearch)索引对比分析
  20. 多CPU/多核/多进程/多线程/并发/并行之间的关系

热门文章

  1. 【产业互联网周报】顺丰科技与圣辉征信达成数据流通合作;微软考虑模仿微信,建超级App;中国移动启动算力网络科学装置;...
  2. 【数据采集平台】教程-单页面采集
  3. CL210管理存储--管理共享文件系统
  4. 阅读5Incorporating travel behavior regularity into passenger flow forecasting
  5. CodeBlocks 修改编辑器背景颜色
  6. 五子棋对弈(Socket--【服务器】--联机)
  7. 阳性,阴性,假阳性,假阴性,敏感度,特异性
  8. 在Gtalk中和你的msn,yahoo,icq/aim,qq好友聊天
  9. spring框架_03
  10. 8255A红绿灯c语言程序,微机原理十字路口红绿灯闪烁实验