当前位置:网站首页>秒殺系統3-商品列錶和商品詳情
秒殺系統3-商品列錶和商品詳情
2022-07-03 15:20:00 【ジ你是我永遠のbugグ】
1、首先在數據庫添加數據
INSERT INTO `t_goods` VALUES (1, 'Iphone 12 64G', 'Iphone 12 64G', '/img/iphone12.png', 'Iphone 12 64G', 5299.00, 100);
INSERT INTO `t_goods` VALUES (2, 'Iphone12Pro128G', 'Iphone12Pro128G', '/img/iphone12pro.png', 'Iphone12Pro128G', 6299.00, 100);
INSERT INTO `t_seckill_goods` VALUES (1, 1, 4299.00, 10, '2022-06-15 00:00:00', '2022-07-15 00:00:00');
INSERT INTO `t_seckill_goods` VALUES (2, 2, 5299.00, 10, '2022-06-15 00:00:00', '2022-07-15 00:00:00');
2、根據 Mybatis-plus 逆向工程將數據庫錶生成相應文件
3、在接口中獲取 商品列錶
package com.example.seckill.controller;
import com.example.seckill.common.RespBean;
import com.example.seckill.controller.parm.LoginRequestParam;
import com.example.seckill.pojo.User;
import com.example.seckill.service.IGoodsService;
import com.example.seckill.service.IUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@RequestMapping("/goods")
@Controller
@Slf4j
public class GoodsController {
@Autowired
IGoodsService goodsService;
@Autowired
IUserService userService;
/** * 跳轉商品頁 * @param * @param model * @param * @return */
@RequestMapping("/toList")
public String toList(Model model,User user){
// 將用戶信息 傳到前端頁面
model.addAttribute("user",user);
model.addAttribute("goodsList",goodsService.findGoodsList());
return "goodsList";
}
}
package com.example.seckill.service.impl;
import com.example.seckill.controller.outPutParm.GoodsListOutPut;
import com.example.seckill.pojo.Goods;
import com.example.seckill.mapper.GoodsMapper;
import com.example.seckill.service.IGoodsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/** * <p> * 商品錶 服務實現類 * </p> * * @author jobob * @since 2022-06-14 */
@Service
public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements IGoodsService {
@Autowired(required = false)
GoodsMapper goodsMapper;
/** * 獲取商品列錶 * @return */
@Override
public List<GoodsListOutPut> findGoodsList() {
List<GoodsListOutPut> goodsList= goodsMapper.findGoodsList();
return goodsList;
}
}
<select id="findGoodsList" resultType="com.example.seckill.controller.outPutParm.GoodsListOutPut">
SELECT g.id,
g.goods_name,
g.goods_title,
g.goods_img,
g.goods_price,
g.goods_stock,
sg.seckill_price,
sg.stock_count,
sg.start_date,
sg.end_date
FROM t_goods g
LEFT JOIN t_seckill_goods sg on g.id = sg.goods_id
</select>
以及前端商品列錶頁面
<!DOCTYPE html>
<html lang="en"
xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>商品列錶</title>
<!-- jquery -->
<script type="text/javascript" th:src="@{/js/jquery.min.js}"></script>
<!-- bootstrap -->
<link rel="stylesheet" type="text/css" th:href="@{/bootstrap/css/bootstrap.min.css}"/>
<script type="text/javascript" th:src="@{/bootstrap/js/bootstrap.min.js}"></script>
<!-- layer -->
<script type="text/javascript" th:src="@{/layer/layer.js}"></script>
<!-- common.js -->
<script type="text/javascript" th:src="@{/js/common.js}"></script>
</head>
<body>
<div class="panel panel-default">
<div class="panel-heading">秒殺商品列錶</div>
<table class="table" id="goodslist">
<tr>
<td>商品名稱</td>
<td>商品圖片</td>
<td>商品原價</td>
<td>秒殺價</td>
<td>庫存數量</td>
<td>詳情</td>
</tr>
<tr th:each="goods,goodsStat : ${goodsList}">
<td th:text="${goods.goodsName}"></td>
<td><img th:src="@{${goods.goodsImg}}" width="100" height="100"/></td>
<td th:text="${goods.goodsPrice}"></td>
<td th:text="${goods.seckillPrice}"></td>
<td th:text="${goods.stockCount}"></td>
<td><a th:href="'/goodsDetail.html?goodsId='+${goods.id}">詳情</a></td>
</tr>
</table>
</div>
</body>
</html>
運行:
边栏推荐
- Visual upper system design and development (Halcon WinForm) -2 Global variable design
- Popular understanding of gradient descent
- Tensorflow realizes verification code recognition (II)
- Global and Chinese markets for ionization equipment 2022-2028: Research Report on technology, participants, trends, market size and share
- 什么是Label encoding?one-hot encoding ,label encoding两种编码该如何区分和使用?
- Redis cache penetration, cache breakdown, cache avalanche solution
- 【云原生训练营】模块八 Kubernetes 生命周期管理和服务发现
- 官网MapReduce实例代码详细批注
- Functional modules and application scenarios covered by the productization of user portraits
- Halcon and WinForm study section 1
猜你喜欢

什么是one-hot encoding?Pytorch中,将label变成one hot编码的两种方式

GCC cannot find the library file after specifying the link library path

Final review points of human-computer interaction

Introduction to redis master-slave, sentinel and cluster mode

Construction of operation and maintenance system

视觉上位系统设计开发(halcon-winform)-4.通信管理

什么是embedding(把物体编码为一个低维稠密向量),pytorch中nn.Embedding原理及使用

视觉上位系统设计开发(halcon-winform)-3.图像控件

What are the composite types of Blackhorse Clickhouse, an OLAP database recognized in the industry

Summary of concurrent full knowledge points
随机推荐
Baidu AI Cloud helps Shizuishan upgrade the smart health care model of "Internet + elderly care services"
Jvm-08-garbage collector
官网MapReduce实例代码详细批注
[transform] [NLP] first proposed transformer. The 2017 paper "attention is all you need" by Google brain team
Neon global and Chinese markets 2022-2028: Research Report on technology, participants, trends, market size and share
Introduction to redis master-slave, sentinel and cluster mode
[pytorch learning notes] datasets and dataloaders
高并发下之redis锁优化实战
Kubernetes - YAML文件解读
Concurrency-01-create thread, sleep, yield, wait, join, interrupt, thread state, synchronized, park, reentrantlock
基于SVN分支开发模式流程浅析
什么是Label encoding?one-hot encoding ,label encoding两种编码该如何区分和使用?
整形和浮点型是如何在内存中的存储
秒杀系统3-商品列表和商品详情
Tensorflow realizes verification code recognition (II)
Kubernetes带你从头到尾捋一遍
【注意力机制】【首篇ViT】DETR,End-to-End Object Detection with Transformers网络的主要组成是CNN和Transformer
Leetcode sword offer find the number I (nine) in the sorted array
【Transform】【NLP】首次提出Transformer,Google Brain团队2017年论文《Attention is all you need》
第04章_逻辑架构