-- 分类表(大) create table classify( cid int primary key auto_increment comment '分类编号(大)', kind varchar(255) not null comment '种类(大)' )engine=innoDB default charset=utf8mb4; -- 分类表(小) create table classtiny( ctid int primary key auto_increment comment '分类编号(小)', tkind varchar(255) not null comment '种类(小)', cid int not null comment '分类编号(大)', foreign key (cid) references classify(cid) )engine=innoDB default charset=utf8mb4; -- 商品表 create table shop( sid int primary key auto_increment comment '商品ID(主键)', sname varchar(100) not null comment '商品名称', sprice decimal(10,2) not null comment '商品价格', store int not null comment '商品库存', sdprice decimal(10,2) comment '商品折后价', simage varchar(100) not null comment '商品图片名称', cid int not null comment '分类编号(大)', ctid int not null comment '分类编号(小)', foreign key (cid) references classify(cid), foreign key (ctid) references classtiny(ctid) )engine=innoDB default charset=utf8mb4;点击商品要跳转到商品详情页,要把商品ID传过去就是查询数据,把对应的数据放入模板中就行了用c标签,foreach循环就行
时间: 2024-01-08 09:04:49 浏览: 79
根据您提供的数据库表结构,您可以按照以下步骤在JSP页面中进行查询和展示数据:
1. 在JSP页面中创建数据库连接。
2. 编写SQL语句进行三表联查,查询商品信息和对应的分类信息。例如:
```sql
SELECT s.sid, s.sname, s.sprice, s.store, s.sdprice, s.simage, c.kind, ct.tkind
FROM shop s
JOIN classify c ON s.cid = c.cid
JOIN classtiny ct ON s.ctid = ct.ctid;
```
3. 使用JDBC或其他数据库操作工具执行SQL查询,并获取结果集。
4. 在JSP页面中使用Java代码处理查询结果,将数据展示在页面上。
```jsp
<c:forEach var="product" items="${resultSet}">
<div class="product">
<img src="${product.simage}" alt="${product.sname}">
<h3>${product.sname}</h3>
<p>Price: ${product.sprice}</p>
<p>Discounted Price: ${product.sdprice}</p>
<p>Stock: ${product.store}</p>
<p>Category: ${product.kind} - ${product.tkind}</p>
<!-- 根据您的具体字段名进行修改 -->
</div>
</c:forEach>
```
在上述示例中,通过<c:forEach>标签遍历结果集,并将每个商品的相关信息展示在页面上。
请注意,为了避免在JSP页面中直接执行数据库查询,建议将数据库操作封装在后端的Java类中,然后在JSP页面中调用该类的方法获取数据。在Servlet或其他Java类中执行数据库查询,并将结果集存储在request作用域中,然后在JSP页面中使用EL表达式获取数据。
希望以上信息对您有所帮助!如果您有任何其他问题,请随时提问。
阅读全文