- 博客(16)
- 收藏
- 关注
原创 (十四)点餐项目记录-项目优化-synchronized处理并发、Redis分布式锁、Redis缓存
一、分布式锁我们这里使用ab这个工具来进行并发测试第二行的解读:-n表示发出100个请求,-c模拟100个并发,相当于100个人同时访问这个百度网址第三行解读:-t表示60秒,-c表示100个并发,它会在60秒内,不停的100个并发。二、synchronized处理并发1.这里我们需要添加一个秒杀的功能,我们的商品是限量抢购的,10000件皮蛋瘦肉粥,每件只要1分钱,所以可能同时会有很多人来抢,有的人能抢到,有的人抢不到,这里我们就需要考虑使用并发。首先介绍 SecKillControll
2020-08-04 09:57:25
392
原创 (十三)点餐项目记录-买家与卖家端连通
一、卖家端Service层的开发上篇文章已经把卖家信息表dao层开发完毕,并且创建完成接口,接下来实现第二次Service层的开发,首先创建SellerService接口。// An highlighted blockpublic interface SellerService { /** * 查询卖家信息 * @param openid * @return */ SellerInfo findSellerInfoByOpenid(String
2020-07-31 14:02:32
474
原创 (十二)点餐项目记录-卖家商品与商品类目的实现
本文重要实现以下几个功能:1、ProductService中新增商品上下架功能2、SellProductController商品列表的方法商品上架的方法新增商品信息页面展示的方法商品信息新增方法3、商品类目SellCategoryController一、ProductService中新增商品上下架功能首先在ProductService中新增商品的上下架功能:// An highlighted blockpublic interface ProductService { //
2020-07-31 10:26:09
267
原创 (十一)点餐项目记录-卖家端订单的实现DAO、Service、Controller层的实现
一、卖家端DAO层的实现1.根据买家数据库表中的属性,建立这个类。@Data@Entitypublic class SellerInfo { @Id private String sellerId; private String username; private String password; private String openid;}2.根据这个类,创建接口 SellerInfoRepository继承JPA,与数据库建立起联系。并且新
2020-07-31 09:04:31
623
原创 (1-10总结)微信点餐项目-第一阶段总结
1.该项目完成了第一阶段,对所有的API进行了分析和实现。2.项目开始时说的技术只实现了springboot+jpa的数据库连接实现和resultFul风格接口实现前后端的数据连通。3.此阶段项目实现了四个实体类,ProductCategory(类目表)ProductInfo(商品表)OrderMaster(订单表)OrderDetail(订单详细表)的DAO层到Service层到Controller层的实现,并且实心从前端到数据库再到前端的整个过程的连通,并测试通过。4.学会了Restful风格的接
2020-07-30 19:13:36
798
2
原创 (十)微信点餐项目-买家订单Controller层的开发与实现
前面我们把订单的DAO层和Service层都实现和测试了,接下来就进入Controller层的实现。1.主要在该层实现四个功能,分别为创建订单,订单列表,订单详情,查询订单。@RestController@RequestMapping("/buyer/order")@Slf4jpublic class BuyerOrderController {@Autowiredprivate OrderService orderService;@Autowiredprivate BuyerServic
2020-07-30 19:12:31
407
原创 (九)微信点餐项目-买家订单Service层的实现与测试(下)
上篇我们写了第一个功能,创建订单,接下来我们来实现剩下的功能。1.先把OrderService接口再展示出来。public interface OrderService {//接口只是搭建一个架子,主要还是怎么去实现 //创建订单 OrderDTO create(OrderDTO orderMaster);//创建一个订单,就要返回订单表,这个方法就是传入OrderDTO这个类,// 一顿操作之后就返回创建的这个订单了,而且还包含多个。 //查询单个订单 OrderD
2020-07-30 18:35:55
290
2
原创 (八)微信点餐项目-买家订单Service层的开发与测试(上)
1.在创建Service层之前,我们先创建一个OrderDTO类,这个类的作用是辅助查询,数据传输的作用。因为订单主表中没有order_detail这个属性,但是我们想从OrderMaster类中查出所有的OrderDetail,所有就使用OrderDTO这个类去建立一个桥梁,把我们想实现的功能加进去,在原来的OrderMaster基础上再添加一个属性OrderDetailList属性。// An highlighted block@Data//@JsonInclude(JsonInclude.Inc
2020-07-30 10:54:02
467
1
原创 (七)微信点餐项目记录-买家订单DAO层的开发与测试
前面把商品表和商品类目表的三层结构建立起来并测试了,接下来继续去看订单表和订单详情表的实现和测试,首先是DAO层的开发。一.买家订单主表1.买家订单主表如下图所示,主要是买家的信息,主要实现的功能是向买家订单主表中添加买家信息,查询买家信息。2.建立一个OrderMaster这个类为买家端信息类,映射数据库中的买家订单主表// An highlighted block*/@Entity//定义与数据库对象应的属性,定义一个实体类@Data@DynamicUpdate//更新时间publi
2020-07-30 07:46:37
387
原创 (六)微信点餐项目记录-买家商品Controller层的实现
之前一直在说的都是商品表和商品类目表的DAO层和Service层的实现和测试,从数据库到前端经过的最后的一层就是Controller层。该篇讲这层的实现。1.该层直接是与前端的信息进行交互的,前端代码直接提供好了,如下图所示。根据前端代码的特征,我们在实现Controller层之前,我们需要写几个VO层的类,这些类的作用就是为了封装API的每层的属性的对象:// An highlighted block{ "code": 0, "msg": "成功", "data": [
2020-07-29 20:25:21
258
原创 (五)微信点餐项目记录-买家端商品Service层的开发
买家商品Service层的功能主要分为下面四种:1.根据商品的主键ProductId查询买该商品的信息。2.查询所有在架商品的信息3.分页查询所有商品4.添加商品1.首先先建一个ProductService接口,这个接口只定义接口方法,把上述四个方法先把框架写好。其他不做任何工作。public interface ProductService { ProductInfo findOne(String productId); List<ProductInfo> fin
2020-07-29 14:25:47
256
1
原创 (四)微信点餐项目记录-买家端商品DAO层的开发与测试
现在进入第二个表Product_info的DAO层的开发与测试。整个实现的过程和第一个表商品类目表的实现方式类似,分三步走的策略。第一步建立一个实体类和数据库中的商品表是对应的。第二步建立一个接口继承JPA。第三步进行测试。本篇文章的作用主要就是添加买家商品,查询商品的状态。1.首先建立起一个ProductInfo实体类,方法和第一个表类似,每一个属性对应数据库表中的每一个属性。// An highlighted block@Data@Entity@NoArgsConstructorp
2020-07-29 09:14:29
203
原创 (三)微信点餐项目记录-买家端商品类目Service层的实现与测试
1.Service层的实现,针对商品类目表分别实现四个功能a.根据主键商品类目id对特定的某类商品进行详细信息的查询。b.直接查询商品类目中所有的类目的信息。c.根据买家商品类目编号列表查询多个买家的类目信息。d.添加买家商品类目。1.Service接口首先建立一个CategoryService接口,该接口定义四种方法,针对上面提供的四种功能。 public interface CategoryService { ProductCategory findOne(Integer c
2020-07-28 16:54:45
354
原创 (二)微信点餐项目记录-买家端商品类目DAO层的设计与测试
买家端类目的设计1.本篇主要针对DAO层的设计与开发,将数据库中的product_category表映射到DAO层的实体类ProductCategory类中。具体注解的含义,我都在代码中注释里写了。@Entity//jpa的注解,表明该实体类(ProductCategory)是与数据库中的表映射的类,它默认对应数据库中的表名是product_category。@DynamicUpdate//这句话就是时间更新的意思,这个非常重要。你查出之后再更改,要与原来有所不同,要不然时间不更新@Data//这个
2020-07-28 15:32:44
282
原创 (一)微信点餐项目记录-数据库的设计
微信点餐项目记录该项目是一个使用前后端分离的项目,主要做的工作为后端部分代码的编写,该项目基于springboot开发,Redis作为缓存,减轻MySQL的查询压力。主要包含商品仓库,订单管理,下单支付等模块。严格按照三层架构模式开发,并配有完整的单元测试代码。该项目涉及到上面五个数据库表,分别如上图所示。1.商品类目表,主键为类目号,其他属性有类目名称和类型编号。如下图所示。// An highlighted block-- 类目create table `product_category
2020-07-28 11:11:48
1444
原创 java中i++、++i、i--、--i 的含义和使用方法
1、java中i++、++i、i–、--i 的含义和使用方法。1.1、i++的意思就是先把值赋值给等号左边的对象,然后再自增1.首先定义两个参数i1=10,i2=20;然后把i1++的值赋值给i。然后输出i和i1的区别。结果为:1.2、++i的意思是先自增1,然后再赋值给等号左边的对象。代码:输出:1.3、i–的意思是先把i的值赋值给等号左边的对象,然后再自减1.代码:...
2020-04-12 19:16:06
10582
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人