一、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 – 为什么Oracle SQL Developer在Mac OS上启动时会出现空指针异常 2023-11-04
- Java设计模式中的桥接模式 2023-03-11
- Mybatis的类型转换接口TypeHandler 2023-04-07
- 如何使用Spring MongoTemplate将Java 8 Instant作为日期类型保存到MongoDB? 2023-11-03
- web.xml中如何设置配置文件的加载路径实例详解 2023-07-31
- Quartz作业调度基本使用详解 2023-05-08
- Java多线程Semaphore工具的使用详解 2023-07-14
- 如何使用Java进行word文档的导出 2023-10-08
- Spring 事务隔离与事务传播的详解与对比 2023-07-30
- Java项目Guava包 HashMultimap使用及注意事项 2022-11-11