大家好,我是你的编程小伙伴。今天,我们要一起动手构建一个JSP在线书店数据库实例。别看标题这么长,其实操作起来很简单,跟着我一步步来,你也能成为一个数据库小高手哦!
一、准备工作
在我们开始之前,我们需要准备以下工具:
1. JDK:Java开发工具包,可以从官网下载。
2. Tomcat:Java Web服务器,可以从官网下载。
3. MySQL:关系型数据库管理系统,可以从官网下载。
4. Eclipse:Java集成开发环境,可以从官网下载。
二、创建数据库
1. 打开MySQL,创建一个新的数据库,命名为`bookstore`。
```sql
CREATE DATABASE bookstore;
```
2. 创建一个用户,用于访问数据库,例如`admin`。
```sql
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
```
3. 授予权限,让用户可以访问`bookstore`数据库。
```sql
GRANT ALL PRIVILEGES ON bookstore.* TO 'admin'@'localhost';
```
4. 刷新权限。
```sql
FLUSH PRIVILEGES;
```
三、设计数据库表结构
我们在线书店需要以下表:
1. 用户表:存储用户信息。
用户ID
用户名
密码
邮箱
注册时间
2. 图书表:存储图书信息。
图书ID
图书名称
作者
出版社
价格
库存
3. 订单表:存储订单信息。
订单ID
用户ID
图书ID
订单时间
订单状态
4. 购物车表:存储购物车信息。
购物车ID
用户ID
图书ID
数量
四、创建表结构
1. 创建用户表。
```sql
CREATE TABLE user (
user_id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
register_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
2. 创建图书表。
```sql
CREATE TABLE book (
book_id INT PRIMARY KEY AUTO_INCREMENT,
book_name VARCHAR(100) NOT NULL,
author VARCHAR(50),
publisher VARCHAR(50),
price DECIMAL(10, 2) NOT NULL,
stock INT NOT NULL
);
```
3. 创建订单表。
```sql
CREATE TABLE order (
order_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
book_id INT NOT NULL,
order_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
order_status VARCHAR(20) NOT NULL,
FOREIGN KEY (user_id) REFERENCES user(user_id),
FOREIGN KEY (book_id) REFERENCES book(book_id)
);
```
4. 创建购物车表。
```sql
CREATE TABLE cart (
cart_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
book_id INT NOT NULL,
quantity INT NOT NULL,
FOREIGN KEY (user_id) REFERENCES user(user_id),
FOREIGN KEY (book_id) REFERENCES book(book_id)
);
```
五、编写JSP页面
1. 登录页面。
```jsp
<%@ page contentType="