java学生管理系统连接mysql实现增删改查
时间: 2023-07-11 08:34:28 浏览: 113
好的,以下是一个简单的Java学生管理系统示例,涉及到了连接MySQL数据库的增删改查操作。注意,以下示例代码仅供参考,需要根据具体情况进行修改和完善。
首先,需要创建一个学生类,表示一个学生的基本信息,例如学号、姓名、年龄、性别等。
```
public class Student {
private int id;
private String name;
private int age;
private String gender;
// 构造方法和getter/setter方法省略
}
```
然后,需要创建一个数据库连接工具类,用于连接MySQL数据库,并提供一些常用的增删改查操作方法。以下示例代码使用了JDBC连接MySQL数据库。
```
import java.sql.*;
public class DBUtil {
// MySQL数据库连接信息
private static final String URL = "jdbc:mysql://localhost:3306/students";
private static final String USERNAME = "root";
private static final String PASSWORD = "123456";
// 加载MySQL JDBC驱动
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
// 获取数据库连接
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USERNAME, PASSWORD);
}
// 关闭数据库连接
public static void close(Connection conn, Statement stmt, ResultSet rs) {
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 增加学生信息
public static void addStudent(Student student) {
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = getConnection();
String sql = "INSERT INTO students (name, age, gender) VALUES (?, ?, ?)";
stmt = conn.prepareStatement(sql);
stmt.setString(1, student.getName());
stmt.setInt(2, student.getAge());
stmt.setString(3, student.getGender());
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(conn, stmt, null);
}
}
// 删除学生信息
public static void deleteStudent(int id) {
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = getConnection();
String sql = "DELETE FROM students WHERE id=?";
stmt = conn.prepareStatement(sql);
stmt.setInt(1, id);
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(conn, stmt, null);
}
}
// 更新学生信息
public static void updateStudent(Student student) {
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = getConnection();
String sql = "UPDATE students SET name=?, age=?, gender=? WHERE id=?";
stmt = conn.prepareStatement(sql);
stmt.setString(1, student.getName());
stmt.setInt(2, student.getAge());
stmt.setString(3, student.getGender());
stmt.setInt(4, student.getId());
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(conn, stmt, null);
}
}
// 查询学生信息
public static Student getStudent(int id) {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
Student student = null;
try {
conn = getConnection();
String sql = "SELECT * FROM students WHERE id=?";
stmt = conn.prepareStatement(sql);
stmt.setInt(1, id);
rs = stmt.executeQuery();
if (rs.next()) {
student = new Student();
student.setId(rs.getInt("id"));
student.setName(rs.getString("name"));
student.setAge(rs.getInt("age"));
student.setGender(rs.getString("gender"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(conn, stmt, rs);
}
return student;
}
}
```
以上代码中,需要替换MySQL数据库的连接信息(URL、用户名和密码),以及对应的学生表格名和字段名。代码中提供了四个常用的增删改查操作方法,分别是:
- 增加学生信息:使用PreparedStatement对象执行INSERT语句。
- 删除学生信息:使用PreparedStatement对象执行DELETE语句。
- 更新学生信息:使用PreparedStatement对象执行UPDATE语句。
- 查询学生信息:使用PreparedStatement对象执行SELECT语句,并将查询结果封装成一个学生对象返回。
最后,可以编写一个简单的测试程序,演示以上增删改查操作的使用。
```
public class Test {
public static void main(String[] args) {
// 增加学生信息
Student student = new Student();
student.setName("张三");
student.setAge(20);
student.setGender("男");
DBUtil.addStudent(student);
// 查询学生信息
Student student1 = DBUtil.getStudent(1);
System.out.println(student1.getName());
// 更新学生信息
student1.setName("李四");
DBUtil.updateStudent(student1);
// 删除学生信息
DBUtil.deleteStudent(1);
}
}
```
以上测试程序中,首先增加了一个学生信息,然后查询出该学生信息并输出,接着修改该学生姓名并更新,最后删除该学生信息。
阅读全文