当前位置:网站首页>秒杀系统3-商品列表和商品详情
秒杀系统3-商品列表和商品详情
2022-07-03 15:18: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>
运行:
边栏推荐
- 在MapReduce中利用MultipleOutputs输出多个文件
- Jvm-03-runtime data area PC, stack, local method stack
- What are the composite types of Blackhorse Clickhouse, an OLAP database recognized in the industry
- Global and Chinese market of iron free motors 2022-2028: Research Report on technology, participants, trends, market size and share
- Leasing cases of the implementation of the new regulations on the rental of jointly owned houses in Beijing
- Global and Chinese market of postal automation systems 2022-2028: Research Report on technology, participants, trends, market size and share
- Global and Chinese market of lighting control components 2022-2028: Research Report on technology, participants, trends, market size and share
- [transformer] Introduction - the original author of Harvard NLP presented the annotated transformer in the form of line by line implementation in early 2018
- "Seven weapons" in the "treasure chest" of machine learning: Zhou Zhihua leads the publication of the new book "machine learning theory guide"
- Solve the problem that pushgateway data will be overwritten by multiple push
猜你喜欢

如何使用 @NotNull等注解校验 并全局异常处理

Jvm-06-execution engine

视觉上位系统设计开发(halcon-winform)-1.流程节点设计

The state does not change after the assignment of El switch

Finally, someone explained the financial risk management clearly

High quality workplace human beings must use software to recommend, and you certainly don't know the last one

Série yolov5 (i) - - netron, un outil de visualisation de réseau

Halcon and WinForm study section 1

Popular understanding of gradient descent

The markdown file obtains the pictures of the network and stores them locally and modifies the URL
随机推荐
Reentrantlock usage and source code analysis
什么是Label encoding?one-hot encoding ,label encoding两种编码该如何区分和使用?
Jvm-04-runtime data area heap, method area
Jvm-03-runtime data area PC, stack, local method stack
Jvm-05-object, direct memory, string constant pool
Jvm-06-execution engine
Jvm-02-class loading subsystem
视觉上位系统设计开发(halcon-winform)-5.相机
Halcon and WinForm study section 2
The markdown file obtains the pictures of the network and stores them locally and modifies the URL
Summary of JVM knowledge points
Visual upper system design and development (Halcon WinForm) -1 Process node design
Influxdb2 sources add data sources
Nppexec get process return code
什么是one-hot encoding?Pytorch中,将label变成one hot编码的两种方式
Qt常用语句备忘
详解指针进阶1
mysql innodb 存储引擎的特性—行锁剖析
High quality workplace human beings must use software to recommend, and you certainly don't know the last one
Leetcode sword offer find the number I (nine) in the sorted array