一、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战之订单信息级联入库以及页面缓存问题


基础教程推荐
- Java回溯法解决全排列问题流程详解 2023-06-05
- SpringBoot中使用Redis Stream实现消息监听示例 2023-01-13
- 使用Feign logging 开启调用日志 2023-01-12
- 关于Java的Character类详解 2023-07-15
- 实例讲解JSP Model2体系结构(中) 2023-12-09
- SpringMVC深入讲解文件的上传下载实现 2023-01-23
- 关于maven使用过程中无法导入依赖的一些总结 2023-04-16
- Spring Boot使用线程池处理上万条数据插入功能 2023-04-06
- springboot项目之相互依赖报错问题(基于idea) 2022-11-08
- 学习java一定要知道的垃圾收集器 2023-02-26