使用java创建一学生数据库School,创建一表studb,包含字段:学号、姓名、性别、专业、入学年份。编写程序对studb表进行学生信息的增、删、改、查操作。
时间: 2023-10-18 20:04:34 浏览: 70
好的,以下是使用Java代码创建学生数据库School并对studb表进行增删改查操作的示例:
首先,需要在Java代码中引入JDBC相关的类库。在本示例中,我们使用MySQL数据库,因此需要引入MySQL Connector/J类库。可以在Maven中添加以下依赖:
```
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
```
接下来,可以编写Java代码来连接MySQL数据库并创建studb表:
```java
import java.sql.*;
public class CreateStudentDatabase {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/School";
String username = "root";
String password = "password";
try {
Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
String sql = "CREATE TABLE studb ("
+ "学号 INT PRIMARY KEY,"
+ "姓名 VARCHAR(50),"
+ "性别 VARCHAR(10),"
+ "专业 VARCHAR(50),"
+ "入学年份 INT"
+ ")";
stmt.executeUpdate(sql);
System.out.println("Table created successfully");
stmt.close();
conn.close();
} catch (SQLException e) {
System.out.println("Error creating table: " + e.getMessage());
}
}
}
```
接下来,可以编写Java代码来对studb表进行增删改查操作:
```java
import java.sql.*;
public class StudentDatabase {
private Connection conn;
public StudentDatabase(String url, String username, String password) throws SQLException {
conn = DriverManager.getConnection(url, username, password);
}
public void close() throws SQLException {
conn.close();
}
public void insertStudent(int id, String name, String gender, String major, int year) throws SQLException {
String sql = "INSERT INTO studb (学号, 姓名, 性别, 专业, 入学年份) VALUES (?, ?, ?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
pstmt.setString(2, name);
pstmt.setString(3, gender);
pstmt.setString(4, major);
pstmt.setInt(5, year);
pstmt.executeUpdate();
pstmt.close();
}
public void updateStudent(int id, String name, String gender, String major, int year) throws SQLException {
String sql = "UPDATE studb SET 姓名 = ?, 性别 = ?, 专业 = ?, 入学年份 = ? WHERE 学号 = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, gender);
pstmt.setString(3, major);
pstmt.setInt(4, year);
pstmt.setInt(5, id);
pstmt.executeUpdate();
pstmt.close();
}
public void deleteStudent(int id) throws SQLException {
String sql = "DELETE FROM studb WHERE 学号 = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
pstmt.executeUpdate();
pstmt.close();
}
public void printAllStudents() throws SQLException {
String sql = "SELECT * FROM studb";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("学号");
String name = rs.getString("姓名");
String gender = rs.getString("性别");
String major = rs.getString("专业");
int year = rs.getInt("入学年份");
System.out.println(id + "\t" + name + "\t" + gender + "\t" + major + "\t" + year);
}
rs.close();
stmt.close();
}
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/School";
String username = "root";
String password = "password";
try {
StudentDatabase db = new StudentDatabase(url, username, password);
// Insert a new student
db.insertStudent(1, "张三", "男", "计算机科学与技术", 2020);
// Update a student
db.updateStudent(1, "张三", "男", "计算机科学与技术", 2021);
// Delete a student
db.deleteStudent(1);
// Print all students
db.printAllStudents();
db.close();
} catch (SQLException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
```
希望这个Java代码示例能够帮助您。如果您还有其他问题,可以继续问我。