SpringBoot 微信点餐系统学习记录六-订单表和订单详情表的后端开发
在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 微信点餐系统学习记录六-订单表和订单详情表的后端开发相关推荐
- 第二课 SpringBoot微信点餐系统买家类目设计
第二课 SpringBoot微信点餐系统买家类目设计 tags: Java 慕课网 categories: DAO层开发 service层开发 文章目录 第二课 SpringBoot微信点餐系统买家类 ...
- 学习笔记 | SpringBoot微信点餐系统实战课程笔记(一)、数据库设计与创建
本系列是用于记录学习慕课网廖师兄的<新版微服务时代Spring Boot企业微信点餐系统>实战课程的实战中的遇到的问题.疑惑.重点笔记等.文章可能不成条理,请见谅.欢迎多多交流学习~ 0. ...
- (附源码)springboot微信点餐系统的设计与实现 毕业设计221541
springboot点餐微信小程序 摘 要 点餐微信小程序采用B/S模式.采用JAVA语言.springboot框架.mysql数据库.小程序框架uniapp等开工具.促进了点餐微信小程序的业务发展. ...
- (附源码)springboot微信点餐系统的设计与实现 毕业设计221541
springboot点餐微信小程序 摘 要 点餐微信小程序采用B/S模式.采用JAVA语言.springboot框架.mysql数据库.小程序框架uniapp等开工具.促进了点餐微信小程序的业务发展. ...
- springboot微信点餐系统的设计与实现 毕业设计- 附源码221541
springboot点餐微信小程序 摘 要 点餐微信小程序采用B/S模式.采用JAVA语言.springboot框架.mysql数据库.小程序框架uniapp等开工具.促进了点餐微信小程序的业务发展 ...
- 基于Springboot微信点餐系统的开发与实现
微信点餐数据库注意事项 商品表: 1:在企业级中,由于数据量是比较大的,所以id一般采用的是varchar,不采用int 2:凡是涉及到价格的统一采用decimal,例如本项目中单价如下: produ ...
- Linux②—概述与基本命令,springboot微信点餐系统百度云
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件. /media:linux系统会自动识别一些设备,例如U盘.光驱等等,当识别后,linux会把识别的设备挂载到 ...
- 实战 | SpringBoot微信点餐系统(附源码)
点击上方"java进阶架构师",选择右上角"置顶公众号" 20大进阶架构专题每日送达 架构 前后端分离: 补充: setting.xml 文件的作用:setti ...
- SpringBoot微信点餐系统
架构 前后端分离: 部署架构: Nginx与Tomcat的关系在这篇文章,几分钟可以快速了解: https://www.jianshu.com/p/22dcb7ef9172 补充: setting.x ...
最新文章
- wsdd文件是怎么生成的_Axis WSDD文件参考文档
- java基础-类加载学习笔记
- matlab调用mstg,实验五 双线性变换法设计IIR数字滤波器
- 【普通の随笔】6.30
- c++二进制转十进制_进制转换:二进制、八进制、十进制、十六进制相互转换
- 10.08-vscode-plantuml建模
- React Native应用实现步骤
- DEDECMS之九 文章采集
- eclipse配置python开发环境_Eclipse中配置python开发环境详解
- 1. Composer 简介
- java 数据库实现源锁_采用java和数据库两种方式进行加锁
- java|jsp类成品展示_jsp学生诚信素质评价系统
- WAP 1.X, WAP 2.0
- 设计师都在用这几个免费素材网站,赶紧马住
- 手机上网页是html,如何在手机上制作自己的网页
- apng java,免费的APNG、WebP格式转换工具-iSparta
- 创建oracle数据库到达梦数据库的dblink
- AutoCAD Civil3D 2023安装图文教程及下载
- elsearch mysql实时索引_MySQL和Lucene(Elasticsearch)索引对比分析
- 多CPU/多核/多进程/多线程/并发/并行之间的关系
热门文章
- 【产业互联网周报】顺丰科技与圣辉征信达成数据流通合作;微软考虑模仿微信,建超级App;中国移动启动算力网络科学装置;...
- 【数据采集平台】教程-单页面采集
- CL210管理存储--管理共享文件系统
- 阅读5Incorporating travel behavior regularity into passenger flow forecasting
- CodeBlocks 修改编辑器背景颜色
- 五子棋对弈(Socket--【服务器】--联机)
- 阳性,阴性,假阳性,假阴性,敏感度,特异性
- 在Gtalk中和你的msn,yahoo,icq/aim,qq好友聊天
- spring框架_03
- 8255A红绿灯c语言程序,微机原理十字路口红绿灯闪烁实验