在河南省的高校信息化建设中,学工系统扮演着重要的角色。为了更好地服务于学生和教师,我们开发了一个基于Web的学工系统。该系统的主要功能包括学生信息管理、成绩管理、考勤管理和活动管理等。
本系统采用MVC架构,使用Java作为后端编程语言,前端使用HTML、CSS和JavaScript。数据库选择MySQL,因为它具有良好的性能和易用性。以下是数据库设计的部分代码:
CREATE DATABASE IF NOT EXISTS university_management;
USE university_management;
CREATE TABLE students (
student_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
gender ENUM('Male', 'Female') NOT NULL,
dob DATE NOT NULL,
major VARCHAR(100) NOT NULL
);
CREATE TABLE grades (
grade_id INT AUTO_INCREMENT PRIMARY KEY,
student_id INT,
course_name VARCHAR(100) NOT NULL,
score DECIMAL(4, 2),
FOREIGN KEY (student_id) REFERENCES students(student_id)
);
以上SQL语句创建了一个名为`university_management`的数据库,并定义了两个表`students`和`grades`。`students`表存储学生的基本信息,如姓名、性别、出生日期和专业;`grades`表则用于记录学生的课程成绩,通过外键关联到`students`表。

在Java代码中,我们可以使用JDBC来连接数据库并执行SQL语句。以下是一个简单的示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class StudentDAO {
private static final String URL = "jdbc:mysql://localhost:3306/university_management";
private static final String USER = "root";
private static final String PASSWORD = "password";
public void addStudent(Student student) throws SQLException {
try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) {
String sql = "INSERT INTO students (name, gender, dob, major) VALUES (?, ?, ?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, student.getName());
statement.setString(2, student.getGender().toString());
statement.setDate(3, new java.sql.Date(student.getDob().getTime()));
statement.setString(4, student.getMajor());
statement.executeUpdate();
}
}
public Student getStudentById(int id) throws SQLException {
try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) {
String sql = "SELECT * FROM students WHERE student_id = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, id);
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
return new Student(
resultSet.getInt("student_id"),
resultSet.getString("name"),
resultSet.getString("gender").equals("Male") ? Gender.Male : Gender.Female,
resultSet.getDate("dob"),
resultSet.getString("major")
);
}
return null;
}
}
}
上述Java代码展示了如何通过JDBC连接到MySQL数据库,并执行添加和查询学生信息的操作。
本站部分内容及素材来源于互联网,如有侵权,联系必删!
标签:
学工系统



客服经理