使用Java做一个简单的学生宿舍管理系统并输出源码
时间: 2023-08-02 22:07:52 浏览: 47
好的,我可以提供一个简单的学生宿舍管理系统的Java源代码,供您参考。
```java
import java.sql.*;
import java.util.Scanner;
public class DormitoryManagementSystem {
// 数据库连接信息
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/dormitory";
private static final String USERNAME = "root";
private static final String PASSWORD = "123456";
// 数据库连接对象和查询结果集对象
private static Connection connection = null;
private static Statement statement = null;
private static ResultSet resultSet = null;
public static void main(String[] args) {
try {
// 连接数据库
Class.forName(DRIVER);
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
// 显示菜单
while (true) {
System.out.println("========== 学生宿舍管理系统 ==========");
System.out.println("1. 添加学生信息");
System.out.println("2. 删除学生信息");
System.out.println("3. 修改学生信息");
System.out.println("4. 查询学生信息");
System.out.println("5. 退出系统");
System.out.println("=====================================");
// 获取用户输入的选项
Scanner scanner = new Scanner(System.in);
int option = scanner.nextInt();
switch (option) {
case 1:
addStudent();
break;
case 2:
deleteStudent();
break;
case 3:
modifyStudent();
break;
case 4:
queryStudent();
break;
case 5:
System.exit(0);
break;
default:
System.out.println("无效的选项,请重新输入!");
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭数据库连接和查询结果集对象
try {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
// 添加学生信息
public static void addStudent() {
try {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入学生性别:");
String gender = scanner.nextLine();
System.out.println("请输入学生年龄:");
int age = scanner.nextInt();
System.out.println("请输入学生宿舍编号:");
int dormitoryId = scanner.nextInt();
// 插入学生信息到数据库
String sql = "INSERT INTO student(name, gender, age, dormitory_id) VALUES('" + name + "', '" + gender + "', " + age + ", " + dormitoryId + ")";
statement = connection.createStatement();
int result = statement.executeUpdate(sql);
if (result > 0) {
System.out.println("添加学生信息成功!");
} else {
System.out.println("添加学生信息失败!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 删除学生信息
public static void deleteStudent() {
try {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除的学生学号:");
int id = scanner.nextInt();
// 删除学生信息
String sql = "DELETE FROM student WHERE id = " + id;
statement = connection.createStatement();
int result = statement.executeUpdate(sql);
if (result > 0) {
System.out.println("删除学生信息成功!");
} else {
System.out.println("删除学生信息失败!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 修改学生信息
public static void modifyStudent() {
try {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
int id = scanner.nextInt();
// 查询学生信息
String querySql = "SELECT * FROM student WHERE id = " + id;
statement = connection.createStatement();
resultSet = statement.executeQuery(querySql);
if (resultSet.next()) {
System.out.println("学生信息如下:");
System.out.println("学生姓名:" + resultSet.getString("name"));
System.out.println("学生性别:" + resultSet.getString("gender"));
System.out.println("学生年龄:" + resultSet.getInt("age"));
System.out.println("学生宿舍编号:" + resultSet.getInt("dormitory_id"));
// 修改学生信息
System.out.println("请输入修改后的学生姓名:");
String name = scanner.next();
System.out.println("请输入修改后的学生性别:");
String gender = scanner.next();
System.out.println("请输入修改后的学生年龄:");
int age = scanner.nextInt();
System.out.println("请输入修改后的学生宿舍编号:");
int dormitoryId = scanner.nextInt();
String updateSql = "UPDATE student SET name = '" + name + "', gender = '" + gender + "', age = " + age + ", dormitory_id = " + dormitoryId + " WHERE id = " + id;
statement = connection.createStatement();
int result = statement.executeUpdate(updateSql);
if (result > 0) {
System.out.println("修改学生信息成功!");
} else {
System.out.println("修改学生信息失败!");
}
} else {
System.out.println("未找到该学生信息!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 查询学生信息
public static void queryStudent() {
try {
Scanner scanner = new Scanner(System.in);
System.out.println("1. 查询所有学生信息");
System.out.println("2. 按学号查询学生信息");
System.out.println("3. 按宿舍编号查询学生信息");
int option = scanner.nextInt();
switch (option) {
case 1:
// 查询所有学生信息
String queryAllSql = "SELECT * FROM student";
statement = connection.createStatement();
resultSet = statement.executeQuery(queryAllSql);
while (resultSet.next()) {
System.out.println("学生学号:" + resultSet.getInt("id"));
System.out.println("学生姓名:" + resultSet.getString("name"));
System.out.println("学生性别:" + resultSet.getString("gender"));
System.out.println("学生年龄:" + resultSet.getInt("age"));
System.out.println("学生宿舍编号:" + resultSet.getInt("dormitory_id"));
System.out.println("--------------------------");
}
break;
case 2:
// 按学号查询学生信息
System.out.println("请输入要查询的学生学号:");
int id = scanner.nextInt();
String queryByIdSql = "SELECT * FROM student WHERE id = " + id;
statement = connection.createStatement();
resultSet = statement.executeQuery(queryByIdSql);
if (resultSet.next()) {
System.out.println("学生姓名:" + resultSet.getString("name"));
System.out.println("学生性别:" + resultSet.getString("gender"));
System.out.println("学生年龄:" + resultSet.getInt("age"));
System.out.println("学生宿舍编号:" + resultSet.getInt("dormitory_id"));
} else {
System.out.println("未找到该学生信息!");
}
break;
case 3:
// 按宿舍编号查询学生信息
System.out.println("请输入要查询的宿舍编号:");
int dormitoryId = scanner.nextInt();
String queryByDormitoryIdSql = "SELECT * FROM student WHERE dormitory_id = " + dormitoryId;
statement = connection.createStatement();
resultSet = statement.executeQuery(queryByDormitoryIdSql);
while (resultSet.next()) {
System.out.println("学生学号:" + resultSet.getInt("id"));
System.out.println("学生姓名:" + resultSet.getString("name"));
System.out.println("学生性别:" + resultSet.getString("gender"));
System.out.println("学生年龄:" + resultSet.getInt("age"));
System.out.println("学生宿舍编号:" + resultSet.getInt("dormitory_id"));
System.out.println("--------------------------");
}
break;
default:
System.out.println("无效的选项,请重新输入!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
上述代码实现了一个简单的学生宿舍管理系统,包括添加、删除、修改和查询学生信息的功能。其中,程序使用了Java的JDBC API来连接MySQL数据库,并实现了基本的增删改查操作。您可以根据自己的需求和实际情况对源码进行进一步的修改和完善。