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

yizhihongxing

一、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日

相关文章

  • Javabean转换成json字符并首字母大写代码实例

    当我们需要在Java程序中将一个JavaBean对象转化成JSON字符串时,可以使用Json-lib库提供的JSONObject对象来完成。以下是实现JavaBean转换成JSON字符串并且首字母大写的代码示例: 首先,我们需要在项目中引入Json-lib库依赖: <dependency> <groupId>net.sf.json-l…

    Java 2023年5月26日
    00
  • java 数组转list的两种方式

    Java 数组转 List 的方式有两种,分别为使用 Arrays.asList() 和通过遍历数组进行转换。下面将会对这两种方式进行详细讲解。 使用 Arrays.asList() Arrays.asList() 方法可以方便地将数组转换为 List,代码如下所示: String[] array = {"a", "b&quot…

    Java 2023年5月26日
    00
  • 浅谈JSP与Servlet传值及对比(总结)

    浅谈JSP与Servlet传值及对比(总结)是一篇比较详细介绍 JSP 和 Servlet 之间数据传递的文章。在该文章中,作者讲述了JSP和Servlet传值的几种方式以及它们在不同情况下的使用情况。 1. JSP与Servlet JSP和Servlet是相互联系的,JSP可以添加Java代码,Servlet可以生成HTML代码。JSP和Servlet重点…

    Java 2023年6月15日
    00
  • 基于java实现的ECC加密算法示例

    题目中提到了“基于java实现的ECC加密算法示例”,因此我们需要对这个话题展开讲解,下面是详细的攻略: 什么是ECC加密算法? ECC(Elliptic Curve Cryptography)椭圆曲线加密算法,是在椭圆曲线上实现的加密算法。通常情况下,比如RSA加密算法,密钥长度越长,加密的强度也越强。但是,ECC加密算法却有一个比较特别的地方,那就是在密…

    Java 2023年5月19日
    00
  • Fixie.js 自动填充内容的插件

    Fixie.js 是一个用于自动填充表单内容的 JavaScript 插件,可以自动填充表单、日期、时间等多种类型的数据。下面是使用 Fixie.js 的详细攻略: 第一步:引入 Fixie.js 将 Fixie.js 文件下载到本地,并在 HTML 中引入该文件,代码如下: <script src="path/to/fixie.js&quo…

    Java 2023年6月15日
    00
  • Spring集成Struts与Hibernate入门详解

    首先,我们需要了解Spring、Struts与Hibernate的概念和用途。Spring是一个轻量级的Java开发框架,用于快速开发企业级应用程序,可有效地帮助我们解决诸如依赖注入、面向切面编程、事务管理等问题。Struts是一个流行的MVC框架,用于Web应用程序开发,其中Model代表数据,View代表用户界面,Controller代表业务逻辑处理。H…

    Java 2023年5月20日
    00
  • Java 实战范例之精美网上音乐平台的实现

    Java 实战范例之精美网上音乐平台的实现攻略 1. 概述 本文将介绍如何使用Java技术实现一个精美的网上音乐平台。本平台能够提供音乐播放、收藏喜欢的歌曲、搜索歌曲等功能。 2. 技术选项 本平台的后端通过Spring Boot实现,前端使用JavaScript和jQuery框架。平台使用MySQL作为数据库存储。同时,我们还使用了第三方API接口Spot…

    Java 2023年5月19日
    00
  • JSP/Servlet应用程序优化八法

    JSP/Servlet应用程序优化八法,是指在开发和维护JSP/Servlet应用程序时,为提高应用程序性能和可维护性而采取的八项优化策略。以下是这八项优化策略的详细讲解。 一、使用JSTL标签库 JSTL是Java服务器页面标准标签库,它是JSP页面处理的标准解决方案。使用JSTL标签库可以有效地减少JSP页面中的Java代码,提高页面的可读性和可维护性。…

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