使用数据库改造学生管理系统
2023-12-18 18:41:18
202221336029--网安2211
目录
1.准备工作
1.构建MYSQL数据库
2.实现功能
需要实现:
- 向数据库添加学生
- 向数据库移除学生
- 通过major,name,GPA寻找学生
- 展示数据库的所有学生
2.连接到数据库
JDBCUtil类,连接上数据库
测试:
成功插入
3.完整代码实现
1.项目结构
2.StudentDao接口编写
3.功能实现
添加学生
删除学生
通过id删除学生
根据姓名查询学生
测试结果:
根据gpa,major查找学生
实际操作与根据姓名查找学生类似
直接运行测试代码:
查找所有的学生
String sql="Select * from students";返回所有内容
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<Student> 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<Student> 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();
}
}
添加
查找
gpa与major查找
展示所有
删除
最终数据库:
001被删去,fjh被添加
文章来源:https://blog.csdn.net/qq_73721069/article/details/134960955
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!