基于Java控制台实现学生信息管理系统(mysql数据库版)
·
Java代码
import java.sql.*;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManagementSystem {
private static ArrayList<Student> students = new ArrayList<>();
private static Scanner scanner = new Scanner(System.in);
private static Connection conn;
public static void main(String[] args) {
try {
// 连接数据库
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student_management_system", "root", "password");
System.out.println("成功连接数据库!");
} catch (SQLException e) {
System.out.println("连接数据库失败!");
e.printStackTrace();
return;
}
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("0. 退出");
int choice = scanner.nextInt();
switch (choice) {
case 0:
System.out.println("感谢使用本系统!");
return;
case 1:
addStudent();
break;
case 2:
deleteStudent();
break;
case 3:
updateStudent();
break;
case 4:
searchStudent();
break;
case 5:
showAllStudents();
break;
default:
System.out.println("输入的选项不正确,请重新输入!");
break;
}
}
}
private static void addStudent() {
System.out.print("请输入学生姓名:");
String name = scanner.next();
System.out.print("请输入学生年龄:");
int age = scanner.nextInt();
System.out.print("请输入学生性别(男/女):");
String gender = scanner.next();
System.out.print("请输入学生班级:");
String className = scanner.next();
Student student = new Student(name, age, gender, className);
String sql = "INSERT INTO students (name, age, gender, class_name) VALUES (?, ?, ?, ?)";
try {
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, student.getName());
stmt.setInt(2, student.getAge());
stmt.setString(3, student.getGender());
stmt.setString(4, student.getClassName());
int rows = stmt.executeUpdate();
if (rows == 1) {
students.add(student);
System.out.println("添加学生成功!");
} else {
System.out.println("添加学生失败!");
}
} catch (SQLException e) {
System.out.println("添加学生失败!");
e.printStackTrace();
}
}
private static void deleteStudent() {
System.out.print("请输入要删除的学生姓名:");
String name = scanner.next();
String sql = "DELETE FROM students WHERE name = ?";
try {
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, name);
int rows = stmt.executeUpdate();
if (rows == 1) {
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
if (student.getName().equals(name)) {
students.remove(i);
break;
}
}
System.out.println("删除学生成功!");
} else {
System.out.println("删除学生失败!");
}
} catch (SQLException e) {
System.out.println("删除学生失败!");
e.printStackTrace();
}
}
private static void updateStudent() {
System.out.print("请输入要修改的学生姓名:");
String name = scanner.next();
String sql = "SELECT * FROM students WHERE name = ?";
try {
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
System.out.print("请输入修改后的学生姓名:");
String newName = scanner.next();
System.out.print("请输入修改后的学生年龄:");
int newAge = scanner.nextInt();
System.out.print("请输入修改后的学生性别(男/女):");
String newGender = scanner.next();
System.out.print("请输入修改后的学生班级:");
String newClassName = scanner.next();
sql = "UPDATE students SET name = ?, age = ?, gender = ?, class_name = ? WHERE name = ?";
stmt = conn.prepareStatement(sql);
stmt.setString(1, newName);
stmt.setInt(2, newAge);
stmt.setString(3, newGender);
stmt.setString(4, newClassName);
stmt.setString(5, name);
int rows = stmt.executeUpdate();
if (rows == 1) {
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
if (student.getName().equals(name)) {
student.setName(newName);
student.setAge(newAge);
student.setGender(newGender);
student.setClassName(newClassName);
break;
}
}
System.out.println("修改学生信息成功!");
} else {
System.out.println("修改学生信息失败!");
}
} else {
System.out.println("没有找到该学生,请重新输入!");
}
} catch (SQLException e) {
System.out.println("修改学生信息失败!");
e.printStackTrace();
}
}
private static void searchStudent() {
System.out.print("请输入要查询的学生姓名:");
String name = scanner.next();
String sql = "SELECT * FROM students WHERE name = ?";
try {
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
System.out.println("姓名:" + rs.getString("name") +
" 年龄:" + rs.getInt("age") +
" 性别:" + rs.getString("gender") +
" 班级:" + rs.getString("class_name"));
} else {
System.out.println("没有找到该学生,请重新输入!");
}
} catch (SQLException e) {
System.out.println("查询学生信息失败!");
e.printStackTrace();
}
}
private static void showAllStudents() {
String sql = "SELECT * FROM students";
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
Student student = new Student(rs.getString("name"), rs.getInt("age"), rs.getString("gender"), rs.getString("class_name"));
students.add(student);
System.out.println("姓名:" + student.getName() +
" 年龄:" + student.getAge() +
" 性别:" + student.getGender() +
" 班级:" + student.getClassName());
}
if (students.size() == 0) {
System.out.println("没有学生信息!");
}
} catch (SQLException e) {
System.out.println("显示所有学生信息失败!");
e.printStackTrace();
}
}
}
class Student {
private String name;
private int age;
private String gender;
private String className;
public Student(String name, int age, String gender, String className) {
this.name = name;
this.age = age;
this.gender = gender;
this.className = className;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
}
数据库 表 sql
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
age INT NOT NULL,
gender VARCHAR(2) NOT NULL,
class_name VARCHAR(20) NOT NULL
);
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)