实现学生管理系统需要以下步骤:
1. 创建数据库表
首先需要创建一个学生表,包括学生姓名、密码、学号、班级、成绩等信息。
2. 连接数据库
使用JDBC连接数据库,获取数据库连接对象。
3. 实现登录功能
用户输入姓名和密码,程序从数据库中查询对应的学生信息,如果存在则登录成功,否则登录失败。
4. 实现修改密码功能
用户输入旧密码和新密码,程序从数据库中查询对应的学生信息,如果旧密码正确,则将新密码更新到数据库中。
5. 实现查看成绩功能
用户输入学号,程序从数据库中查询对应的学生信息,返回该学生的成绩信息。
以下是一个简单的示例代码:
```
import java.sql.*;
public class StudentManagementSystem {
private Connection conn;
public StudentManagementSystem() {
try {
// 连接数据库
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "password");
} catch (Exception e) {
e.printStackTrace();
}
}
public boolean login(String name, String password) {
try {
// 查询学生信息
PreparedStatement ps = conn.prepareStatement("SELECT * FROM student WHERE name=? AND password=?");
ps.setString(1, name);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();
return rs.next();
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public boolean changePassword(String name, String oldPassword, String newPassword) {
try {
// 验证旧密码
PreparedStatement ps = conn.prepareStatement("SELECT * FROM student WHERE name=? AND password=?");
ps.setString(1, name);
ps.setString(2, oldPassword);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
// 更新密码
ps = conn.prepareStatement("UPDATE student SET password=? WHERE name=?");
ps.setString(1, newPassword);
ps.setString(2, name);
ps.executeUpdate();
return true;
} else {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public String getScore(String id) {
try {
// 查询成绩
PreparedStatement ps = conn.prepareStatement("SELECT score FROM student WHERE id=?");
ps.setString(1, id);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
return rs.getString("score");
} else {
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static void main(String[] args) {
StudentManagementSystem sms = new StudentManagementSystem();
// 登录
boolean success = sms.login("张三", "123456");
System.out.println("登录结果:" + success);
// 修改密码
success = sms.changePassword("张三", "123456", "654321");
System.out.println("修改密码结果:" + success);
// 查看成绩
String score = sms.getScore("1001");
System.out.println("成绩:" + score);
}
}
```
温馨提示:答案为网友推荐,仅供参考