1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 【学习笔记】seckill-秒杀项目--(5)实现商品列表页 详情页

【学习笔记】seckill-秒杀项目--(5)实现商品列表页 详情页

时间:2024-01-13 00:43:41

相关推荐

【学习笔记】seckill-秒杀项目--(5)实现商品列表页 详情页

一、创建表单

1、创建表

准备商品表、订单表、秒杀商品表、秒杀订单表。

(设计较为简单,重点在秒杀,不在设计表。)

商品表:

create table `t_goods`(`id` BIGINT(20) not null AUTO_INCREMENT COMMENT '商品id',`goods_name` VARCHAR(16) DEFAULT NULL COMMENT '商品名称',`goods_title` VARCHAR(64) DEFAULT NULL COMMENT '商品标题',`goods_img` VARCHAR(64) DEFAULT NULL COMMENT '商品图片',`goods_detail` LONGTEXT COMMENT '商品描述',`goods_price` DECIMAL(10, 2) DEFAULT '0.00' COMMENT '商品价格',`goods_stock` INT(11) DEFAULT '0' COMMENT '商品库存,-1表示没有限制',PRIMARY KEY(`id`))ENGINE = INNODB AUTO_INCREMENT = 3 DEFAULT CHARSET = utf8mb4;

订单表:

CREATE TABLE `t_order` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '订单ID',`user_id` BIGINT(20) DEFAULT NULL COMMENT '用户ID',`goods_id` BIGINT(20) DEFAULT NULL COMMENT '商品ID',`delivery_addr_id` BIGINT(20) DEFAULT NULL COMMENT '收获地址ID',`goods_name` VARCHAR(16) DEFAULT NULL COMMENT '商品名字',`goods_count` INT(20) DEFAULT '0' COMMENT '商品数量',`goods_price` DECIMAL(10,2) DEFAULT '0.00' COMMENT '商品价格',`order_channel` TINYINT(4) DEFAULT '0' COMMENT '1 pc,2 android, 3 ios',`status` TINYINT(4) DEFAULT '0' COMMENT '订单状态,0新建未支付,1已支付,2已发货,3已收货,4已退货,5已完成',`create_date` datetime DEFAULT NULL COMMENT '订单创建时间',`pay_date` datetime DEFAULT NULL COMMENT '支付时间',PRIMARY KEY(`id`))ENGINE = INNODB AUTO_INCREMENT=12 DEFAULT CHARSET = utf8mb4;

秒杀商品表:

CREATE TABLE `t_seckill_goods`(`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '秒杀商品ID',`goods_id` BIGINT(20) NOT NULL COMMENT '商品ID',`seckill_price` DECIMAL(10,2) NOT NULL COMMENT '秒杀家',`stock_count` INT(10) NOT NULL COMMENT '库存数量',`start_date` datetime NOT NULL COMMENT '秒杀开始时间',`end_date` datetime NOT NULL COMMENT '秒杀结束时间',PRIMARY KEY(`id`))ENGINE = INNODB AUTO_INCREMENT=3 DEFAULT CHARSET = utf8mb4;

秒杀订单表:

CREATE TABLE `t_seckill_order` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '秒杀订单ID',`user_id` BIGINT(20) NOT NULL COMMENT '用户ID',`order_id` BIGINT(20) NOT NULL COMMENT '订单ID',`goods_id` BIGINT(20) NOT NULL COMMENT '商品ID',PRIMARY KEY(`id`))ENGINE = INNODB AUTO_INCREMENT=3 DEFAULT CHARSET = utf8mb4;

2、插入数据

插入数据,主要插入商品表和秒杀商品表就行,订单表是在购买时自动生成的。

/* 插入数据 */insert into `t_goods` values(1, 'IPHONE 12', 'IPHONE 12 64GB', '/img/iphone12.png', 'IPHONE 12 64GB','6299.00', 100),(2, 'IPHONE 12 PRO', 'IPHONE 12 PRO 128GB', '/img/iphone12pro.png', 'IPHONE 12 PRO 128GB','9299.00', 100);insert into `t_seckill_goods` values(1, 1, '629.00', 10, '-11-01 08:00:00', '-11-01 09:00:00'),(2, 2, '929.00', 10, '-11-01 08:00:00', '-11-01 09:00:00');

3、逆向工程生成pojo

运行代码生成器

输入要转化的表名:

对应的pojo、controller、service、mapper转化完成,并将生成的代码复制到主工程下。

二、实现商品列表页

1、准备VO对象

因为商品的信息可能存在于两个表或者多个表中,比如秒杀商品的库存信息和秒杀商品的详细信息在两个表中。vo对象就是可以把商品信息全部一次性展示出来的对象。

2、后端服务实现

商品页面跳转实现

获取商品列表–接口方法

获取商品列表–具体实现

数据库Mapper接口

mapper.xml配置sql

3、测试

三、实现商品详情页

1、后端服务实现

商品页面详情跳转

获取商品详情信息–接口方法

获取商品详情信息–具体实现

数据库Mapper接口

Mapper.xml 配置 sql语句

2、测试

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。