1. 创建学生数据库 2. 利用JDBC完成数据库的增、删、查改
时间: 2024-02-01 18:02:13 浏览: 112
好的,以下是创建学生数据库的示例 SQL 语句:
```
CREATE DATABASE student;
USE student;
CREATE TABLE student_info (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender VARCHAR(10) NOT NULL,
PRIMARY KEY (id)
);
```
这里创建了一个名为 `student` 的数据库,并在其中创建了一个名为 `student_info` 的表,存储学生的信息,包括学生 ID、姓名、年龄和性别。
接下来是利用 JDBC 完成数据库的增、删、查、改的示例代码,其中假设已经连接到了 `student` 数据库:
```java
import java.sql.*;
public class StudentDatabase {
private Connection conn;
public StudentDatabase(Connection conn) {
this.conn = conn;
}
public void addStudent(String name, int age, String gender) {
try {
PreparedStatement stmt = conn.prepareStatement(
"INSERT INTO student_info (name, age, gender) VALUES (?, ?, ?)");
stmt.setString(1, name);
stmt.setInt(2, age);
stmt.setString(3, gender);
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void deleteStudent(int id) {
try {
PreparedStatement stmt = conn.prepareStatement(
"DELETE FROM student_info WHERE id = ?");
stmt.setInt(1, id);
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void updateStudent(int id, String name, int age, String gender) {
try {
PreparedStatement stmt = conn.prepareStatement(
"UPDATE student_info SET name = ?, age = ?, gender = ? WHERE id = ?");
stmt.setString(1, name);
stmt.setInt(2, age);
stmt.setString(3, gender);
stmt.setInt(4, id);
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void listStudents() {
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM student_info");
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.println("ID: " + id + ", Name: " + name + ", Age: " + age + ", Gender: " + gender);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
这里定义了一个 `StudentDatabase` 类,其中包含了增加、删除、更新和列出学生的方法。这些方法都需要一个 `Connection` 对象作为参数,因此需要在调用这些方法之前先连接到数据库。
例如,如果要添加一个名为张三、年龄为20、性别为男的学生,可以这样调用 `addStudent` 方法:
```java
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "username", "password");
StudentDatabase db = new StudentDatabase(conn);
db.addStudent("张三", 20, "男");
```
其他方法的使用方法类似。需要注意的是,这里的 SQL 语句都使用了预处理语句,可以防止 SQL 注入攻击。
阅读全文