请以java和mysql做一个”码头停泊位系统“
时间: 2024-01-11 07:03:56 浏览: 27
好的,下面是Java和MySQL实现的"码头停泊位系统"的示例代码:
首先,我们需要创建一个数据库和表来存储停泊位信息。可以使用以下SQL语句:
```
CREATE DATABASE port;
USE port;
CREATE TABLE berth (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
capacity INT,
occupied INT DEFAULT 0
);
```
这个表包含了停泊位的名称、容量和占用情况。
接下来,我们可以编写Java代码来连接数据库并操作数据。这里我们使用JDBC来连接MySQL数据库。
```
import java.sql.*;
public class BerthSystem {
private static final String URL = "jdbc:mysql://localhost:3306/port";
private static final String USER = "root";
private static final String PASSWORD = "password";
public static void main(String[] args) {
try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD)) {
System.out.println("Connected to database");
// 添加停泊位
addBerth(conn, "Berth 1", 100);
addBerth(conn, "Berth 2", 200);
// 查询停泊位
listBerths(conn);
// 更新停泊位
updateBerth(conn, "Berth 1", 80);
// 删除停泊位
deleteBerth(conn, "Berth 2");
// 再次查询停泊位
listBerths(conn);
} catch (SQLException e) {
e.printStackTrace();
}
}
private static void addBerth(Connection conn, String name, int capacity) throws SQLException {
String sql = "INSERT INTO berth (name, capacity) VALUES (?, ?)";
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, name);
stmt.setInt(2, capacity);
stmt.executeUpdate();
System.out.println("Added berth " + name);
}
}
private static void listBerths(Connection conn) throws SQLException {
String sql = "SELECT * FROM berth";
try (Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int capacity = rs.getInt("capacity");
int occupied = rs.getInt("occupied");
System.out.println(String.format("Berth %d: %s (Capacity: %d, Occupied: %d)", id, name, capacity, occupied));
}
}
}
private static void updateBerth(Connection conn, String name, int occupied) throws SQLException {
String sql = "UPDATE berth SET occupied = ? WHERE name = ?";
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setInt(1, occupied);
stmt.setString(2, name);
stmt.executeUpdate();
System.out.println("Updated berth " + name);
}
}
private static void deleteBerth(Connection conn, String name) throws SQLException {
String sql = "DELETE FROM berth WHERE name = ?";
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, name);
stmt.executeUpdate();
System.out.println("Deleted berth " + name);
}
}
}
```
在这个示例中,我们实现了添加、查询、更新和删除停泊位的功能。通过使用JDBC连接MySQL数据库,我们可以轻松地操作数据库中的数据。
当我们运行这个程序时,它会输出以下内容:
```
Connected to database
Added berth Berth 1
Added berth Berth 2
Berth 1: Berth 1 (Capacity: 100, Occupied: 0)
Berth 2: Berth 2 (Capacity: 200, Occupied: 0)
Updated berth Berth 1
Deleted berth Berth 2
Berth 1: Berth 1 (Capacity: 100, Occupied: 80)
```
这表明我们成功地向数据库中添加了两个停泊位,然后查询了它们的信息,并更新了一个停泊位的占用情况和删除了一个停泊位,最后再次查询了停泊位的信息。
希望这个示例能够帮助你实现自己的"码头停泊位系统"!