当前位置:网站首页>Seckill system 3- product list and product details
Seckill system 3- product list and product details
2022-07-03 15:21:00 【You are my forever bug】
1、 First, add data in the database
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、 according to Mybatis-plus Reverse engineering generates corresponding files from database tables 
3、 Get List of goods
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;
/** * Jump to product page * @param * @param model * @param * @return */
@RequestMapping("/toList")
public String toList(Model model,User user){
// Put user information To the front page
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> * Commodity list Service implementation class * </p> * * @author jobob * @since 2022-06-14 */
@Service
public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements IGoodsService {
@Autowired(required = false)
GoodsMapper goodsMapper;
/** * Get a list of products * @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>
And the front-end product list page
<!DOCTYPE html>
<html lang="en"
xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title> List of goods </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"> Second kill commodity list </div>
<table class="table" id="goodslist">
<tr>
<td> Name of commodity </td>
<td> Commodity images </td>
<td> The original price of the goods </td>
<td> price spike </td>
<td> Inventory quantity </td>
<td> details </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}"> details </a></td>
</tr>
</table>
</div>
</body>
</html>
function :
边栏推荐
- C语言刷题~Leetcode与牛客网简单题
- Summary of concurrent full knowledge points
- Leetcode the smallest number of the rotation array of the offer of the sword (11)
- 详解指针进阶1
- What is one hot encoding? In pytoch, there are two ways to turn label into one hot coding
- Visual upper system design and development (Halcon WinForm) -3 Image control
- 【注意力机制】【首篇ViT】DETR,End-to-End Object Detection with Transformers网络的主要组成是CNN和Transformer
- 视觉上位系统设计开发(halcon-winform)-1.流程节点设计
- 什么是one-hot encoding?Pytorch中,将label变成one hot编码的两种方式
- Jvm-09 byte code introduction
猜你喜欢
![Mysql报错:[ERROR] mysqld: File ‘./mysql-bin.010228‘ not found (Errcode: 2 “No such file or directory“)](/img/cd/2e4f5884d034ff704809f476bda288.png)
Mysql报错:[ERROR] mysqld: File ‘./mysql-bin.010228‘ not found (Errcode: 2 “No such file or directory“)

Jvm-02-class loading subsystem

Popular understanding of linear regression (I)

Besides lying flat, what else can a 27 year old do in life?

Jvm-08-garbage collector
![[cloud native training camp] module VIII kubernetes life cycle management and service discovery](/img/87/92638402820b32a15383f19f6f8b91.png)
[cloud native training camp] module VIII kubernetes life cycle management and service discovery

The markdown file obtains the pictures of the network and stores them locally and modifies the URL

What is embedding (encoding an object into a low dimensional dense vector), NN in pytorch Principle and application of embedding

【云原生训练营】模块八 Kubernetes 生命周期管理和服务发现

Popular understanding of gradient descent
随机推荐
【pytorch学习笔记】Datasets and Dataloaders
el-switch 赋值后状态不变化
Analysis of development mode process based on SVN branch
SQL server installation location cannot be changed
Popular understanding of decision tree ID3
【日常训练】395. 至少有 K 个重复字符的最长子串
[pytorch learning notes] datasets and dataloaders
Influxdb2 sources add data sources
Unity hierarchical bounding box AABB tree
[transformer] Introduction - the original author of Harvard NLP presented the annotated transformer in the form of line by line implementation in early 2018
What are the composite types of Blackhorse Clickhouse, an OLAP database recognized in the industry
百度智能云助力石嘴山市升级“互联网+养老服务”智慧康养新模式
如何使用 @NotNull等注解校验 并全局异常处理
Using Tengine to solve the session problem of load balancing
socket.io搭建分布式Web推送服务器
PyTorch crop images differentiablly
[combinatorics] permutation and combination (set permutation, step-by-step processing example)
Jvm-04-runtime data area heap, method area
Incluxdb2 buckets create database
App全局异常捕获