SSH框架网上商城项目第19战之订单信息级联入库以及页面缓存问题

一、SSH框架网上商城项目第19战之订单信息级联入库

  1. 背景

在网上商城项目中,订单信息是非常重要的部分,订单信息必须要从前台传入后台,并在后台进行级联入库,即插入订单主表和订单明细表中。订单明细表中需要存储订单对应的商品信息,包括商品ID、商品名称、商品单价、购买数量、小计等。

  1. 具体步骤

(1)在订单主表中插入订单的基本信息。

(2)获取前台传来的购买商品列表(可以使用购物车功能实现)。

(3)遍历购买商品列表,获取每个商品的基本信息和购买数量。

(4)在订单明细表中插入每个商品的详细信息,包括商品ID、商品名称、商品单价、购买数量、小计等。

(5)更新商品库存信息,在商品表中减去对应商品库存数量。

  1. 示例说明

代码示例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. 背景

在网上商城项目中,为了提升用户体验,减少网络请求,我们可以将一些页面数据进行缓存,当用户再次请求该页面时,可以直接从缓存中获取数据,而不用再次从数据库中查询,从而减少了对数据库的访问压力。

  1. 具体步骤

(1)选择需要进行缓存的页面,并确定缓存时间。

(2)在Action中通过cache标签实现数据缓存。

(3)在JSP页面中通过EL表达式从缓存中取出数据。

  1. 示例说明

代码示例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战之订单信息级联入库以及页面缓存问题 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Resty极简restful框架快速接入Spring

    Resty是一个基于Java的类似于JAX-RS的RESTful框架,它提供了核心的RESTful应用层框架,可以快速搭建RESTful应用程序。在这里,我将详细介绍如何将Resty快速整合到Spring框架中。 准备工作 在整合Resty之前,请确认已经安装好以下环境: JDK 1.8或更高版本 Maven 3.0或更高版本 Spring框架 添加Mave…

    Java 2023年5月19日
    00
  • Java之Arrays的各种功能和用法总结

    Java之Arrays的各种功能和用法总结 简介 Java中的Arrays类提供了一组用于操作数组的静态方法。Arrays类中的方法支持对数组的排序、搜索、比较、填充和转换等操作,该类还提供了一个asList()方法来创建一个ArrayList. 方法列表 下面是Arrays类中一些常用方法的列表: 方法 描述 sort() 对数组进行排序。 binaryS…

    Java 2023年5月26日
    00
  • IntelliJ IDEA基于SpringBoot如何搭建SSM开发环境的步骤详解

    IntelliJ IDEA基于SpringBoot如何搭建SSM开发环境的步骤详解 1. 环境准备 在开始搭建SSM开发环境之前,我们需要准备以下环境: JDK 1.8或以上版本 IntelliJ IDEA Maven SpringBoot 2. 创建SpringBoot项目 在IntelliJ IDEA中创建一个SpringBoot项目,可以使用Sprin…

    Java 2023年5月18日
    00
  • Java 中的内存映射 mmap

    Java 中的内存映射 mmap 什么是内存映射? 内存映射是一种将磁盘上的文件映射到虚拟内存地址空间中的技术,使得应用程序可以像访问内存一样访问文件。通常情况下,读写文件都需要通过系统调用来完成,这会涉及到数据的复制和内核态和用户态之间的切换,这些操作都会带来一定的性能损失。而内存映射技术通过将文件映射到内存中,典型的是使用页表将物理地址映射到虚拟地址,避…

    Java 2023年5月19日
    00
  • 一文详解JAVA中InputStreamReader流

    一、概述 InputStreamReader是Java中的输入流,是字符流与字节流之间的桥梁。它将字节流转换为字符流,以便于阅读和操作。 二、用法 InputStreamReader的用法非常简单,只需要创建一个InputStreamReader实例,并且为其传入一个输入流,然后就可以操作输入流中的字符了。 示例代码如下: try { InputStream…

    Java 2023年5月20日
    00
  • Java源码解析ArrayList及ConcurrentModificationException

    Java中的ArrayList是一个实现了List接口的动态数组,可以自动扩容。ArrayList提供了很多方便的方法,可以让我们对数组进行快速的操作。但是,在多线程环境下,操作ArrayList时容易抛出ConcurrentModificationException异常。下面是一个完整攻略,来详细讲解如何解析ArrayList和ConcurrentModi…

    Java 2023年5月26日
    00
  • JAVA心得分享—return语句的用法

    JAVA心得分享—return语句的用法 在Java中,return语句是非常重要的关键字之一。在这篇文章中,我将会详细讲解return语句的用法,以及一些使用return语句的最佳实践。 什么是return语句 Java中的return语句,是用于从当前方法中返回控制权并返回一个值执行方法调用的位置的命令。 返回类型 Java中return语句有两种类…

    Java 2023年5月26日
    00
  • java springmvc乱码解决归纳整理详解

    Java Spring MVC 是一种非常流行的 Java Web 开发框架。它提供了许多特性和强大的功能,但是在处理中文文本等需要编码转换的场景中,往往会遇到乱码问题。本篇攻略将详细讲解如何解决 Java Spring MVC 中的乱码问题。 1. 请求编码解决 一般情况下,在处理 HTTP 请求时,浏览器会设置请求的编码格式。但是如果请求头中没有指定编码…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部