利用jdbc连接数据库写一个学生公寓管理系统的控制台代码
时间: 2024-03-17 18:47:07 浏览: 69
好的,以下是一个简单的控制台程序,可以连接数据库并实现一些基本的学生公寓管理功能。这里假设数据库中有一个名为`student`的表,包含`id`、`name`、`gender`、`room_id`四个字段。
```java
import java.sql.*;
public class StudentApartmentManagementSystem {
private static final String JDBC_URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
private static final String JDBC_USER = "root";
private static final String JDBC_PASSWORD = "123456";
private static Connection conn = null;
public static void main(String[] args) {
try {
// 连接数据库
conn = DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASSWORD);
System.out.println("数据库连接成功!");
// 显示操作菜单
System.out.println("请选择操作:");
System.out.println("1. 添加学生");
System.out.println("2. 修改学生信息");
System.out.println("3. 删除学生");
System.out.println("4. 查询学生信息");
System.out.println("5. 退出");
// 循环读取用户输入
while (true) {
System.out.print("请输入操作编号:");
int choice = Integer.parseInt(System.console().readLine());
switch (choice) {
case 1:
addStudent();
break;
case 2:
updateStudent();
break;
case 3:
deleteStudent();
break;
case 4:
queryStudent();
break;
case 5:
System.out.println("程序退出!");
System.exit(0);
default:
System.out.println("输入错误,请重新输入!");
break;
}
}
} catch (SQLException e) {
System.out.println("数据库连接失败:" + e.getMessage());
} finally {
// 关闭数据库连接
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
// 添加学生
private static void addStudent() throws SQLException {
System.out.print("请输入学生姓名:");
String name = System.console().readLine();
System.out.print("请输入学生性别(男/女):");
String gender = System.console().readLine();
System.out.print("请输入学生所在房间号:");
int roomId = Integer.parseInt(System.console().readLine());
// 执行 SQL 插入语句
String sql = "INSERT INTO student(name, gender, room_id) VALUES (?, ?, ?)";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, name);
stmt.setString(2, gender);
stmt.setInt(3, roomId);
int rows = stmt.executeUpdate();
if (rows > 0) {
System.out.println("添加学生成功!");
} else {
System.out.println("添加学生失败!");
}
}
// 修改学生信息
private static void updateStudent() throws SQLException {
System.out.print("请输入要修改的学生ID:");
int id = Integer.parseInt(System.console().readLine());
System.out.print("请输入学生姓名:");
String name = System.console().readLine();
System.out.print("请输入学生性别(男/女):");
String gender = System.console().readLine();
System.out.print("请输入学生所在房间号:");
int roomId = Integer.parseInt(System.console().readLine());
// 执行 SQL 更新语句
String sql = "UPDATE student SET name=?, gender=?, room_id=? WHERE id=?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, name);
stmt.setString(2, gender);
stmt.setInt(3, roomId);
stmt.setInt(4, id);
int rows = stmt.executeUpdate();
if (rows > 0) {
System.out.println("修改学生信息成功!");
} else {
System.out.println("修改学生信息失败!");
}
}
// 删除学生
private static void deleteStudent() throws SQLException {
System.out.print("请输入要删除的学生ID:");
int id = Integer.parseInt(System.console().readLine());
// 执行 SQL 删除语句
String sql = "DELETE FROM student WHERE id=?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setInt(1, id);
int rows = stmt.executeUpdate();
if (rows > 0) {
System.out.println("删除学生成功!");
} else {
System.out.println("删除学生失败!");
}
}
// 查询学生信息
private static void queryStudent() throws SQLException {
System.out.print("请输入要查询的学生姓名:");
String name = System.console().readLine();
// 执行 SQL 查询语句
String sql = "SELECT id, name, gender, room_id FROM student WHERE name=?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
System.out.println("学生ID:" + rs.getInt("id"));
System.out.println("学生姓名:" + rs.getString("name"));
System.out.println("学生性别:" + rs.getString("gender"));
System.out.println("学生所在房间号:" + rs.getInt("room_id"));
}
}
}
```
注意:以上代码中的数据库连接信息(`JDBC_URL`、`JDBC_USER`、`JDBC_PASSWORD`)需要根据实际情况修改。
阅读全文