帮我用java语言和mysql语言做一个学生信息管理系统
时间: 2024-01-30 22:01:56 浏览: 23
好的,以下是一个简单的Java和MySQL实现的学生信息管理系统的示例代码,仅供参考:
首先,创建一个名为Student的Java类,用于表示学生信息:
```
public class Student {
private int id;
private String name;
private int age;
private String gender;
private String major;
public Student(int id, String name, int age, String gender, String major) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
this.major = major;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
public String getMajor() {
return major;
}
}
```
然后,创建一个名为Database的Java类,用于连接数据库并操作数据:
```
import java.sql.*;
public class Database {
private Connection conn = null;
private Statement stmt = null;
public Database() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "password");
stmt = conn.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}
public void addStudent(Student student) {
try {
String sql = "INSERT INTO students (id, name, age, gender, major) VALUES (" + student.getId() + ", '" + student.getName() + "', " + student.getAge() + ", '" + student.getGender() + "', '" + student.getMajor() + "')";
stmt.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
}
}
public void updateStudent(Student student) {
try {
String sql = "UPDATE students SET name = '" + student.getName() + "', age = " + student.getAge() + ", gender = '" + student.getGender() + "', major = '" + student.getMajor() + "' WHERE id = " + student.getId();
stmt.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
}
}
public void deleteStudent(int id) {
try {
String sql = "DELETE FROM students WHERE id = " + id;
stmt.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
}
}
public Student getStudent(int id) {
try {
String sql = "SELECT * FROM students WHERE id = " + id;
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
int studentId = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String gender = rs.getString("gender");
String major = rs.getString("major");
return new Student(studentId, name, age, gender, major);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public void close() {
try {
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
最后,创建一个名为Main的Java类,用于测试学生信息管理系统的功能:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Database db = new Database();
while (true) {
System.out.println("请输入操作编号:1-添加学生信息,2-修改学生信息,3-删除学生信息,4-查询学生信息,0-退出");
int choice = scanner.nextInt();
if (choice == 0) {
break;
}
switch (choice) {
case 1:
System.out.println("请输入学生信息:");
System.out.print("学号:");
int id = scanner.nextInt();
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 major = scanner.next();
Student newStudent = new Student(id, name, age, gender, major);
db.addStudent(newStudent);
System.out.println("添加成功!");
break;
case 2:
System.out.println("请输入学生信息:");
System.out.print("学号:");
int updateId = scanner.nextInt();
Student oldStudent = db.getStudent(updateId);
if (oldStudent != null) {
System.out.println("请输入新的学生信息:");
System.out.print("姓名(原姓名:" + oldStudent.getName() + "):");
String newName = scanner.next();
System.out.print("年龄(原年龄:" + oldStudent.getAge() + "):");
int newAge = scanner.nextInt();
System.out.print("性别(原性别:" + oldStudent.getGender() + "):");
String newGender = scanner.next();
System.out.print("专业(原专业:" + oldStudent.getMajor() + "):");
String newMajor = scanner.next();
Student newInfo = new Student(updateId, newName, newAge, newGender, newMajor);
db.updateStudent(newInfo);
System.out.println("修改成功!");
} else {
System.out.println("未找到该学生!");
}
break;
case 3:
System.out.print("请输入学号:");
int deleteId = scanner.nextInt();
db.deleteStudent(deleteId);
System.out.println("删除成功!");
break;
case 4:
System.out.print("请输入学号:");
int queryId = scanner.nextInt();
Student queryStudent = db.getStudent(queryId);
if (queryStudent != null) {
System.out.println("查询结果:");
System.out.println("学号:" + queryStudent.getId());
System.out.println("姓名:" + queryStudent.getName());
System.out.println("年龄:" + queryStudent.getAge());
System.out.println("性别:" + queryStudent.getGender());
System.out.println("专业:" + queryStudent.getMajor());
} else {
System.out.println("未找到该学生!");
}
break;
default:
System.out.println("无效操作!");
break;
}
}
db.close();
}
}
```
以上代码仅为示例,实际应用中需要根据具体需求进行修改和完善。