使用数据库改造学生管理系统

202221336029--网安2211

目录

1.准备工作

1.构建MYSQL数据库

2.实现功能

2.连接到数据库

3.完整代码实现

1.项目结构

2.StudentDao接口编写

3.功能实现

添加学生

删除学生

根据姓名查询学生

根据gpa,major查找学生

查找所有的学生

4.最终测试


1.准备工作

1.构建MYSQL数据库

使用数据库改造学生管理系统_第1张图片

2.实现功能

使用数据库改造学生管理系统_第2张图片

需要实现:

  1. 向数据库添加学生
  2. 向数据库移除学生
  3. 通过major,name,GPA寻找学生
  4. 展示数据库的所有学生

2.连接到数据库

JDBCUtil类,连接上数据库

使用数据库改造学生管理系统_第3张图片

测试:

使用数据库改造学生管理系统_第4张图片

使用数据库改造学生管理系统_第5张图片

成功插入使用数据库改造学生管理系统_第6张图片

3.完整代码实现

1.项目结构

使用数据库改造学生管理系统_第7张图片

2.StudentDao接口编写

使用数据库改造学生管理系统_第8张图片

3.功能实现

添加学生

使用数据库改造学生管理系统_第9张图片

删除学生

通过id删除学生

使用数据库改造学生管理系统_第10张图片

根据姓名查询学生

使用数据库改造学生管理系统_第11张图片

测试结果:

使用数据库改造学生管理系统_第12张图片

根据gpa,major查找学生

实际操作与根据姓名查找学生类似

直接运行测试代码:

使用数据库改造学生管理系统_第13张图片
使用数据库改造学生管理系统_第14张图片

查找所有的学生

String sql="Select * from students";返回所有内容

使用数据库改造学生管理系统_第15张图片

4.最终测试

Main代码修改

package student;

import java.util.List;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {

		/**
		 * This program is a student management system that allows users to add, remove,
		 * and search for students by name, major, and GPA. It uses the Student and
		 * StudentManagementSystem classes to store and manage student data.
		 */
		// Initialize the scanner
		Scanner scanner = new Scanner(System.in);
		StudentManagementSystem sms = new StudentManagementSystem();
		boolean running = true;
		while (running) {
			// Prompt user for input
			System.out.println("Enter 1 to add a student");
			System.out.println("Enter 2 to remove a student");
			System.out.println("Enter 3 to search for a student by name");
			System.out.println("Enter 4 to search for a student by major");
			System.out.println("Enter 5 to search for a student by GPA");
			System.out.println("Enter 6 to show all students");
			System.out.println("Enter 7 to exit");

			// Get user input
			int choice = scanner.nextInt();

			// Process user input
			switch (choice) {
			case 1:
				// Add a student
				System.out.println("Enter student name:");
				String name = scanner.next();
				System.out.println("Enter student age:");
				int age = scanner.nextInt();
				System.out.println("Enter student gender:");
				String gender = scanner.next();
				System.out.println("Enter student ID:");
				String id = scanner.next();
				System.out.println("Enter student major:");
				String major = scanner.next();
				System.out.println("Enter student GPA:");
				double gpa = scanner.nextDouble();
				Student student = new Student(name, age, gender, id, major, gpa);
				sms.writeStudent(student);
				System.out.println("Student added successfully!\n");
				break;
			case 2:
				// Remove a student
				System.out.println("Enter student ID to remove:");
				String removeId = scanner.next();
                boolean removed = sms.removeStudent(removeId);
				if (!removed) {
					System.out.println("Student not found!");
				}
                else{
                    System.out.println("Student removed successfully!\n");
                }
				break;
			case 3:
				// Search for a student by name
				System.out.println("Enter student name to search:");
				String searchName = scanner.next();
				List searchResults = sms.getStudentsByName(searchName);
				if (searchResults.isEmpty()) {
					System.out.println("No students found!");
				} else {
					System.out.println("Search results:");
					for (Student s : searchResults) {
						System.out.println(s);
					}
				}
				break;
			case 4:
				// Search for a student by major
				System.out.println("Enter student major to search:");
				String searchMajor = scanner.next();
				searchResults = sms.getStudentsByMajor(searchMajor);
				if (searchResults.isEmpty()) {
					System.out.println("No students found!");
				} else {
					System.out.println("Search results:");
					for (Student s : searchResults) {
						System.out.println(s);
					}
				}
				break;
			case 5:
				// Search for a student by GPA
				System.out.println("Enter student GPA to search:");
				double searchGpa = scanner.nextDouble();
				searchResults = sms.getStudentsByGpa(String.valueOf(searchGpa));
				if (searchResults.isEmpty()) {
					System.out.println("No students found!");
				} else {
					System.out.println("Search results:");
					for (Student s : searchResults) {
						System.out.println(s);
					}
				}
				break;
			case 6:
				// Show all Students
				List studentList = sms.getAllStudents();
				if (studentList.size() == 0) {
					System.out.println("The System Data is empty Now!");
				}else {
					for (Student studentItem : studentList) {
						System.out.println(studentItem.toString());
					}
				}
				break;
			case 7:
				// Exit the program
				running = false;
				System.out.println("Exit Successfully!");
				break;
			default:
				// Invalid input
				System.out.println("Invalid choice!");
				break;
			}
		}
		// Close scanner
		scanner.close();
	}
}

添加使用数据库改造学生管理系统_第16张图片

使用数据库改造学生管理系统_第17张图片

查找

使用数据库改造学生管理系统_第18张图片

gpa与major查找

使用数据库改造学生管理系统_第19张图片

展示所有

使用数据库改造学生管理系统_第20张图片

删除

使用数据库改造学生管理系统_第21张图片

最终数据库:

001被删去,fjh被添加

使用数据库改造学生管理系统_第22张图片

你可能感兴趣的:(数据库,java,开发语言,spring,eclipse)