java连接数据库SQL server的网上购物系统后台设计
时间: 2023-09-14 12:06:23 浏览: 128
首先,你需要下载并安装 SQL Server 数据库,并创建一个新的数据库。然后,你需要在 Java 中使用 JDBC 驱动程序连接到该数据库。以下是一个简单的示例代码:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseConnection {
private static final String DB_URL = "jdbc:sqlserver://localhost:1433;databaseName=your_database_name";
private static final String USERNAME = "your_username";
private static final String PASSWORD = "your_password";
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return conn;
}
}
```
在上面的代码中,你需要将 `DB_URL` 修改为你的数据库连接字符串,`USERNAME` 和 `PASSWORD` 修改为你的数据库用户名和密码。
然后,你需要设计你的数据库模式,包括表、列、主键、外键等。根据你的需求,你需要设计一个或多个表来存储商品信息、订单信息等。以下是一个简单的示例表:
```sql
CREATE TABLE products (
id INT PRIMARY KEY,
name VARCHAR(50),
price DECIMAL(10, 2),
description TEXT
);
CREATE TABLE orders (
id INT PRIMARY KEY,
customer_name VARCHAR(50),
order_date DATE,
total_price DECIMAL(10, 2)
);
CREATE TABLE order_items (
order_id INT,
product_id INT,
quantity INT,
price DECIMAL(10, 2),
PRIMARY KEY (order_id, product_id),
FOREIGN KEY (order_id) REFERENCES orders(id),
FOREIGN KEY (product_id) REFERENCES products(id)
);
```
在上面的示例中,`products` 表存储商品信息,`orders` 表存储订单信息,`order_items` 表存储订单中的商品项信息。`order_items` 表使用了复合主键,由 `order_id` 和 `product_id` 两列组成,同时使用了外键关联到 `orders` 和 `products` 表。
最后,你需要编写 Java 代码来实现你的业务逻辑,包括查询商品、添加商品、创建订单等操作。例如,以下是一个简单的查询商品的示例代码:
```java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class ProductDao {
private static final String SELECT_ALL_PRODUCTS = "SELECT * FROM products";
public List<Product> getAllProducts() {
List<Product> products = new ArrayList<>();
try (Connection conn = DatabaseConnection.getConnection();
PreparedStatement stmt = conn.prepareStatement(SELECT_ALL_PRODUCTS);
ResultSet rs = stmt.executeQuery()) {
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
BigDecimal price = rs.getBigDecimal("price");
String description = rs.getString("description");
Product product = new Product(id, name, price, description);
products.add(product);
}
} catch (SQLException e) {
e.printStackTrace();
}
return products;
}
}
```
在上面的示例中,`ProductDao` 类封装了查询商品的业务逻辑。使用 `DatabaseConnection.getConnection()` 方法获取数据库连接,使用 `PreparedStatement` 对象执行查询语句,使用 `ResultSet` 对象获取查询结果集。最后,将查询结果封装为 `Product` 对象并添加到列表中返回。
阅读全文