一、SSH框架网上商城项目第19战之订单信息级联入库
一、SSH框架网上商城项目第19战之订单信息级联入库
- 背景
在网上商城项目中,订单信息是非常重要的部分,订单信息必须要从前台传入后台,并在后台进行级联入库,即插入订单主表和订单明细表中。订单明细表中需要存储订单对应的商品信息,包括商品ID、商品名称、商品单价、购买数量、小计等。
- 具体步骤
(1)在订单主表中插入订单的基本信息。
(2)获取前台传来的购买商品列表(可以使用购物车功能实现)。
(3)遍历购买商品列表,获取每个商品的基本信息和购买数量。
(4)在订单明细表中插入每个商品的详细信息,包括商品ID、商品名称、商品单价、购买数量、小计等。
(5)更新商品库存信息,在商品表中减去对应商品库存数量。
- 示例说明
代码示例1:在订单主表中插入订单的基本信息
// 获取订单信息
Order order = getOrderInfo();
//插入订单信息
orderDao.save(order);
代码示例2:在订单明细表中插入每个商品的详细信息
// 获取商品列表
List<Goods> goodsList = getGoodsList();
// 遍历商品列表,获取每个商品的信息
for(Goods goods : goodsList){
OrderDetail orderDetail = new OrderDetail();
orderDetail.setOrderId(order.getOrderId());
orderDetail.setGoods(goods);
orderDetail.setNum(num);
orderDetailDao.save(orderDetail); // 插入订单明细信息
}
二、SSH框架网上商城项目第19战之页面缓存问题
- 背景
在网上商城项目中,为了提升用户体验,减少网络请求,我们可以将一些页面数据进行缓存,当用户再次请求该页面时,可以直接从缓存中获取数据,而不用再次从数据库中查询,从而减少了对数据库的访问压力。
- 具体步骤
(1)选择需要进行缓存的页面,并确定缓存时间。
(2)在Action中通过cache标签实现数据缓存。
(3)在JSP页面中通过EL表达式从缓存中取出数据。
- 示例说明
代码示例1:定义缓存cache标签
<cache>
<key name="缓存键"></key>
<expiry>${10*60}</expiry>
</cache>
代码示例2:在JSP页面中通过EL表达式从缓存中取出数据
<c:forEach var="goods" items="${goodsList}">
<tr>
<td>${goods.goodsId}</td>
<td>${goods.goodsName}</td>
<td>${goods.goodsPrice}</td>
<td>${goods.createTime}</td>
</tr>
</c:forEach>
本文标题为:SSH框架网上商城项目第19战之订单信息级联入库以及页面缓存问题
基础教程推荐
- 浅析JSP的9大内置对象和4大作用域对象 2023-08-03
- java线程安全锁ReentrantReadWriteLock原理分析readLock 2023-06-09
- 浅谈Servlet转发到JSP页面的路径问题(必看) 2023-07-31
- 聊聊maven与jdk版本对应关系 2023-08-10
- Go&java算法之最大数示例详解 2023-04-16
- JVM的常用命令汇总 2023-06-23
- java开发Activiti进阶篇流程实例详解 2023-04-07
- 解决SpringBoot配置文件application.yml遇到的坑 2022-11-05
- SpringBoot @RestControllerAdvice注解对返回值统一封装的处理方法 2023-06-01
- JavaWeb Servlet中Filter过滤器的详解 2023-07-31