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日

相关文章

  • Mysql字符集和排序规则详解

    Mysql字符集和排序规则详解 MySQL是当前最流行的数据库之一,对于数据存储乃至于展示,字符集和排序规则都是最基本的要素之一。 字符集(Character Set) MySQL中,字符集是一组字符的字符集合集合,也就是说,字符集是相互关联的一组字符,这些字符在计算机中用一定的方式进行存储和传输。MySQL中实现了多种字符集,具体可以在官方文档中查看。 在…

    Java 2023年6月1日
    00
  • SpringMVC中请求参数的获取方式

    SpringMVC中请求参数的获取方式 在SpringMVC中,可以通过多种方式获取请求参数: 通过@RequestParam注解获取请求参数 @RequestParam注解常用于简单类型参数的绑定,例如String、int等。使用该注解时可以指定参数名称,如果请求中传递的参数名称与指定的参数名称不一致,则无法获取到参数值。 @GetMapping(&quo…

    Java 2023年6月15日
    00
  • 虚拟机的作用是什么?

    以下是关于虚拟机作用的完整使用攻略: 虚拟机的作用是什么? 虚拟机是一种软件,它模拟了一台计算机的硬件和操作系统,使得用户可以在一台计算机上运行多个操作系统和应用程序。虚拟机的作用主要有以下几个方面: 提供多操作系统支持:虚拟机可以在同一台计算机上运行多个操作系统,从而提供多操作系统支持。 提供更好的资源利用率:虚拟机可以在同一台计算机上运行多个虚拟机,从而…

    Java 2023年5月12日
    00
  • Spring Boot详解创建和运行基础流程

    Spring Boot是一个轻量级的Java开发框架,可以快速构建可独立运行的Spring应用程序,使得Spring应用程序的开发变得更加容易、更加快捷。下面是Spring Boot创建和运行基础流程的详细攻略。 创建Spring Boot项目 创建Spring Boot项目的最简单的方法是通过Spring官网提供的 Spring Initializr,该工…

    Java 2023年5月19日
    00
  • Java MyBatis框架环境搭建详解

    Java MyBatis框架环境搭建详解 1. 环境要求 在开始搭建MyBatis框架之前,需要确保计算机已经安装以下软件: JDK(Java Development Kit)— 最好是JDK8及以上版本。 Eclipse(或者其他的Java IDE)— 推荐使用最新版本。 Maven(或者其他的构建工具)— 推荐使用最新版本。 MySQL(或者其他关系型数…

    Java 2023年6月2日
    00
  • MyBatis逆向⼯程的生成过程

    下面我将为你详细讲解”MyBatis逆向工程的生成过程”的完整攻略。 1. 确定逆向工程生成的目标文件 逆向工程是根据数据库中的表自动生成基于MyBatis框架的Java代码。因此,在进行逆向工程之前,我们需要先确定逆向工程生成的目标文件,包括要使用哪个数据库、要生成哪些表的代码等。 2. 配置逆向工程的生成参数 在进行逆向工程之前,我们需要先配置生成参数。…

    Java 2023年5月20日
    00
  • Java开发岗位面试被问到反射怎么办

    当你在Java开发面试时被问到反射相关的问题时,需要详细解释反射的概念和使用方法,以及反射在实际项目中的应用。 以下是完整的攻略流程: 1. 理解反射的概念 反射是Java语言的一种特性,可以在运行时动态获取类的信息并操作对象。反射可以使代码更加灵活和可扩展,但过度使用反射也会导致代码难以维护和调试。因此,反射的使用应该谨慎,并在适当的情况下使用。 2. 学…

    Java 2023年5月26日
    00
  • JSP中 Session和作用域的使用

    下面是关于“JSP中 Session和作用域的使用”的完整攻略。 什么是Session和作用域 在JSP中,”作用域(Scope)”是指在某个特定的范围内,程序可以访问到的变量。JSP中的作用域是从大到小,依次为:application、session、request和page。 其中,”Session”就是 Session 作用域,代表一个用户会话过程,当…

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