java连接数据库SQL的网上购物系统后台设计
时间: 2023-11-01 08:08:34 浏览: 82
对于网上购物系统,通常需要连接数据库来存储和管理商品信息、用户信息、订单信息等。下面是一个简单的Java连接数据库SQL的网上购物系统后台设计:
1. 数据库设计
首先需要设计数据库,在这里以MySQL为例,设计以下表:
- 商品表:包括商品ID、名称、价格、库存等字段。
- 用户表:包括用户ID、用户名、密码、地址、电话等字段。
- 订单表:包括订单ID、用户ID、商品ID、数量、总价等字段。
2. 连接数据库
使用JDBC连接数据库,需要引入相关的jar包,如mysql-connector-java.jar。在Java代码中,需要使用以下代码连接数据库:
```
String url = "jdbc:mysql://localhost:3306/shopping"; //数据库连接地址
String user = "root"; //用户名
String password = "123456"; //密码
Class.forName("com.mysql.jdbc.Driver"); //加载数据库驱动
Connection conn = DriverManager.getConnection(url, user, password); //连接数据库
```
其中shopping为数据库名称,可以根据需要修改。
3. 商品管理
在Java代码中,可以使用以下方式实现商品管理:
- 查询商品信息:
```
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM item";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
double price = rs.getDouble("price");
int stock = rs.getInt("stock");
//处理商品信息
}
```
- 添加新商品:
```
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO item (name, price, stock) VALUES (?, ?, ?)");
pstmt.setString(1, "商品名称");
pstmt.setDouble(2, 99.99);
pstmt.setInt(3, 100);
int i = pstmt.executeUpdate();
if (i > 0) {
//添加成功
}
```
- 更新商品信息:
```
PreparedStatement pstmt = conn.prepareStatement("UPDATE item SET price = ?, stock = ? WHERE id = ?");
pstmt.setDouble(1, 88.88);
pstmt.setInt(2, 200);
pstmt.setInt(3, 1);
int i = pstmt.executeUpdate();
if (i > 0) {
//更新成功
}
```
- 删除商品:
```
PreparedStatement pstmt = conn.prepareStatement("DELETE FROM item WHERE id = ?");
pstmt.setInt(1, 1);
int i = pstmt.executeUpdate();
if (i > 0) {
//删除成功
}
```
4. 用户管理
在Java代码中,可以使用以下方式实现用户管理:
- 查询用户信息:
```
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM user";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String address = rs.getString("address");
String phone = rs.getString("phone");
//处理用户信息
}
```
- 添加新用户:
```
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO user (name, password, address, phone) VALUES (?, ?, ?, ?)");
pstmt.setString(1, "用户名");
pstmt.setString(2, "123456");
pstmt.setString(3, "北京市海淀区");
pstmt.setString(4, "13888888888");
int i = pstmt.executeUpdate();
if (i > 0) {
//添加成功
}
```
- 更新用户信息:
```
PreparedStatement pstmt = conn.prepareStatement("UPDATE user SET address = ?, phone = ? WHERE id = ?");
pstmt.setString(1, "北京市朝阳区");
pstmt.setString(2, "13999999999");
pstmt.setInt(3, 1);
int i = pstmt.executeUpdate();
if (i > 0) {
//更新成功
}
```
- 删除用户:
```
PreparedStatement pstmt = conn.prepareStatement("DELETE FROM user WHERE id = ?");
pstmt.setInt(1, 1);
int i = pstmt.executeUpdate();
if (i > 0) {
//删除成功
}
```
5. 订单管理
在Java代码中,可以使用以下方式实现订单管理:
- 查询订单信息:
```
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM orders";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
int userId = rs.getInt("user_id");
int itemId = rs.getInt("item_id");
int quantity = rs.getInt("quantity");
double total = rs.getDouble("total");
//处理订单信息
}
```
- 添加新订单:
```
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO orders (user_id, item_id, quantity, total) VALUES (?, ?, ?, ?)");
pstmt.setInt(1, 1);
pstmt.setInt(2, 1);
pstmt.setInt(3, 2);
pstmt.setDouble(4, 199.98);
int i = pstmt.executeUpdate();
if (i > 0) {
//添加成功
}
```
- 更新订单信息:
```
PreparedStatement pstmt = conn.prepareStatement("UPDATE orders SET quantity = ?, total = ? WHERE id = ?");
pstmt.setInt(1, 3);
pstmt.setDouble(2, 299.97);
pstmt.setInt(3, 1);
int i = pstmt.executeUpdate();
if (i > 0) {
//更新成功
}
```
- 删除订单:
```
PreparedStatement pstmt = conn.prepareStatement("DELETE FROM orders WHERE id = ?");
pstmt.setInt(1, 1);
int i = pstmt.executeUpdate();
if (i > 0) {
//删除成功
}
```
以上是一个简单的Java连接数据库SQL的网上购物系统后台设计,可以根据实际需求进行修改和扩展。
阅读全文