目录
一、商品列表
本关任务
具体要求
结果输出
实现代码
二、商品详情
本关任务
JDBC查询方法封装
商品相关信息介绍
具体要求
结果输出
实现代码
三、商品搜索
编程要求
测试说明
实现代码
四、购物车列表
本关任务
JDBC查询方法封装
购物车相关信息介绍
编程要求
测试说明
实现代码
五、购物车操作
本关任务
JDBC查询方法封装
购物车相关信息介绍
编程要求
实现代码
六、下单
本关任务
编程要求
实现代码
七、订单查询
本关任务
编程要求
测试说明
实现代码
一、商品列表
本关任务
一个商场不能缺少商品,本关需要借助JDBC,从 t_goods表中获取销量前四的商品信息,并展示到页面。
JDBC信息;
MYSQL用户名 | MYSQL密码 | 驱动 | URL |
---|
root | 123123 | com.mysql.jdbc.Driver | jdbc:mysql://127.0.0.1:3306/online_shop?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true |
com.educoder.entity.Goods字段及方法;
字段 | 描述 | 类型 | get方法 | set方法 |
---|
goodsId | 商品Id | String | getGoodsId() | setGoodsId(String goodsId) |
goodsName | 商品名 | String | getGoodsName() | setGoodsName(String goodsName) |
goodsImg | 展示于主页的图 | String | getGoodsImg() | setGoodsImg(String goodsImg) |
goodsPrice | 价格 | BigDecimal | getGoodsPrice() | setGoodsPrice(BigDecimal goodsPrice) |
goodsNum | 库存数量 | Integer | getGoodsNum() | setGoodsNum(Integer goodsNum) |
salesNum | 销售数量 | Integer | getSalesNum() | setSalesNum(Integer salesNum) |
goodsSize | 商品规格 | String | getGoodsSize() | setGoodsSize(String goodsSize) |
goodsFrom | 商品产地 | String | getGoodsFrom() | setGoodsFrom(String goodsFrom) |
goodsTime | 保质期 | String | getGoodsTime() | setGoodsTime(String goodsTime) |
goodsSaveCondition | 存储条件 | String | getGoodsSaveCondition() | setGoodsSaveCondition(String goodsSaveCondition) |
goodsDescribe | 商品描述介绍 | String | getGoodsDescribe() | setGoodsDescribe(String goodsDescribe) |
goodsExplain | 对商品简短说明 | String | getGoodsExplain() | setGoodsExplain(String goodsExplain) |
goodsClass | 所属类别 | String | getGoodsClass() | setGoodsClass(String goodsClass) |
goodsDiscount | 折扣 | BigDecimal | getGoodsDiscount() | setGoodsDiscount(BigDecimal goodsDiscount) |
discountStartTime | 优惠起始时间 | Date | getDiscountStartTime() | setDiscountStartTime(Date discountStartTime) |
discountEndTime | 优惠截止时间 | Date | getDiscountEndTime() | setDiscountEndTime(Date discountEndTime) |
表和类对应表;
库名 | 表名 | 类名 |
---|
online_shop | t_goods | Goods |
- 注意:类字段和对应的表字段名称一致,这里不再重复列出了。
页面初始效果图:

最终页面效果图:

具体要求
- 补全 getGoodsList()方法,返回List(商品列表)。
结果输出
[{
"goodsClass":
"甜品",
"goodsDescribe":
"口感绵密,精致细腻\r\n这份雪白让你有如获至宝的幸福感",
"goodsExplain":
"手工打发而成的进口鲜奶油",
"goodsFrom":
"上海",
"goodsId":
"list1",
"goodsImg":
"list_1-1.jpg",
"goodsName":
"雪域牛乳芝士",
"goodsNum":
996,
"goodsPrice":
98.00,
"goodsSaveCondition":
"冷藏0~4摄氏度",
"goodsSize":
"约450g",
"goodsTime":
"3天",
"salesNum":
44},{
"goodsClass":
"甜品",
"goodsDescribe":
"酸甜清爽\r\n回味无穷",
"goodsExplain":
"卡福洛芒果泥",
"goodsFrom":
"上海",
"goodsId":
"list3",
"goodsImg":
"list_3-1.jpg",
"goodsName":
"芒果熔岩星球蛋糕 Mango Planet",
"goodsNum":
1994,
"goodsPrice":
118.00,
"goodsSaveCondition":
"冷藏0~4摄氏度",
"goodsSize":
"约680g",
"goodsTime":
"2天",
"salesNum":
42},{
"goodsClass":
"甜品",
"goodsDescribe":
"通过精致的工艺\r\n将巧克力的香醇甜蜜发挥到极致\r\n每一口都倍感甜蜜",
"goodsExplain":
"进口的黑巧克力",
"goodsFrom":
"上海",
"goodsId":
"list2",
"goodsImg":
"list_2-1.jpg",
"goodsName":
"哈!蜜瓜蛋糕 Hey Melon",
"goodsNum":
1496,
"goodsPrice":
99.00,
"goodsSaveCondition":
"冷藏0~4摄氏度",
"goodsSize":
"约500g",
"goodsTime":
"3天",
"salesNum":
39},{
"goodsClass":
"甜品",
"goodsDescribe":
"在金色芒果淋面的外衣下\r\n是芒果慕斯的柔情\r\n是芒果啫喱的牵挂\r\n还有丝丝香草戚风蛋糕的香气",
"goodsExplain":
"手工打发而成的进口鲜奶油",
"goodsFrom":
"上海",
"goodsId":
"list5",
"goodsImg":
"list_5-1.jpg",
"goodsName":
"蟹蟹你偷吃 Yum Yum Cake",
"goodsNum":
6999,
"goodsPrice":
88.00,
"goodsSaveCondition":
"冷藏0~4摄氏度",
"goodsSize":
"约480g",
"goodsTime":
"3天",
"salesNum":
5}]
实现代码
- package com.educoder.service.impl;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.List;
- import com.educoder.entity.Goods;
- import com.educoder.service.GoodsService;
- import com.educoder.dao.impl.BaseDao;
- public class GoodsServiceImpl implements GoodsService {
- /**
- * 商品详情接口
- */
- public Goods getGoodsByGoodsId(String goodsId) {
- /********* Begin *********/
- String sql = "select * from t_goods where goodsId = ?";
- List