用java连接mysql写一个学生管理系统
时间: 2023-12-16 12:02:14 浏览: 43
好的,以下是一个简单的学生管理系统示例,使用Java连接MySQL数据库:
首先,需要在MySQL中创建一个名为“student_management”的数据库,并在其中创建一个名为“students”的表,表结构如下:
```sql
CREATE TABLE students (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender VARCHAR(10) NOT NULL,
PRIMARY KEY (id)
);
```
然后,使用Java连接MySQL数据库,需要导入MySQL驱动程序。可以将MySQL驱动程序的jar包下载并添加到项目中,或者使用Maven或Gradle等依赖管理工具来添加依赖项。
接下来,编写Java代码来连接MySQL数据库并执行CRUD操作,如下所示:
```java
import java.sql.*;
public class StudentManagementSystem {
// 数据库配置
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/student_management";
static final String USER = "root";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// 注册JDBC驱动
Class.forName(JDBC_DRIVER);
// 打开连接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行查询
System.out.println("查询学生记录...");
stmt = conn.createStatement();
String sql = "SELECT * FROM students";
ResultSet rs = stmt.executeQuery(sql);
// 处理结果集
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String gender = rs.getString("gender");
// 输出数据
System.out.print("ID: " + id);
System.out.print(", Name: " + name);
System.out.print(", Age: " + age);
System.out.println(", Gender: " + gender);
}
// 关闭资源
rs.close();
stmt.close();
conn.close();
} catch (SQLException se) {
// 处理JDBC错误
se.printStackTrace();
} catch (Exception e) {
// 处理Class.forName错误
e.printStackTrace();
} finally {
// 关闭资源
try {
if (stmt != null) stmt.close();
} catch (SQLException se2) {
} // 什么都不做
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
}
```
上述代码连接到MySQL数据库,并查询“students”表中的所有记录,并将结果输出到控制台。
可以通过修改SQL语句来执行其他操作,如插入、更新和删除记录。例如,以下是向“students”表中插入一条记录的代码示例:
```java
// 执行插入
System.out.println("插入一条学生记录...");
stmt = conn.createStatement();
sql = "INSERT INTO students (name, age, gender) VALUES ('Tom', 18, 'Male')";
int rows = stmt.executeUpdate(sql);
System.out.println(rows + " 行记录被插入。");
```
可以根据自己的需求修改代码,实现完整的学生管理系统。