写一个Java与数据库连接的学生管理系统
时间: 2024-03-11 11:47:01 浏览: 16
好的,我可以给你提供一个简单的Java与MySQL数据库连接的学生管理系统的代码示例,供你参考:
首先,你需要在MySQL中创建一个名为"student"的数据库,并在其中创建一个名为"students"的表,表中包含id、name、age和gender四个字段。然后,在Java中使用JDBC与MySQL数据库进行连接和操作。
下面是示例代码:
```java
import java.sql.*;
public class StudentManager {
private Connection conn;
private PreparedStatement pstmt;
private ResultSet rs;
public StudentManager() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "password");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
// 添加学生信息
public void addStudent(Student stu) {
String sql = "INSERT INTO students(name, age, gender) VALUES(?,?,?)";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, stu.getName());
pstmt.setInt(2, stu.getAge());
pstmt.setString(3, stu.getGender());
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 删除学生信息
public void deleteStudent(int id) {
String sql = "DELETE FROM students WHERE id=?";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 更新学生信息
public void updateStudent(Student stu) {
String sql = "UPDATE students SET name=?, age=?, gender=? WHERE id=?";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, stu.getName());
pstmt.setInt(2, stu.getAge());
pstmt.setString(3, stu.getGender());
pstmt.setInt(4, stu.getId());
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 查询学生信息
public void queryStudent(int id) {
String sql = "SELECT * FROM students WHERE id=?";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
rs = pstmt.executeQuery();
while (rs.next()) {
int stuId = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String gender = rs.getString("gender");
System.out.println(stuId + "\t" + name + "\t" + age + "\t" + gender);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 关闭连接
public void close() {
try {
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
其中,Student类表示学生信息,包含id、name、age和gender四个属性:
```java
public class Student {
private int id;
private String name;
private int age;
private String gender;
public Student(int id, String name, int age, String gender) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
}
```
你可以在主函数中调用这些方法来操作学生信息:
```java
public static void main(String[] args) {
StudentManager manager = new StudentManager();
// 添加学生信息
Student stu1 = new Student(1, "张三", 18, "男");
manager.addStudent(stu1);
// 查询学生信息
manager.queryStudent(1);
// 更新学生信息
Student stu2 = new Student(1, "李四", 20, "女");
manager.updateStudent(stu2);
// 删除学生信息
manager.deleteStudent(1);
// 关闭连接
manager.close();
}
```
这是一个简单的Java与MySQL数据库连接的学生管理系统示例,你可以根据自己的实际需求对其进行改进和扩展。