This repository has been archived by the owner on Oct 24, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTeacher.java
126 lines (102 loc) · 3.56 KB
/
Teacher.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import java.sql.*;
public class Teacher extends DatabaseHandler {
private String id;
private String name;
private int gender;
private int title;
public static final String[] GENDERS = {
"男",
"女"
};
public static final String[] TITLES = {
"博士后",
"助教",
"讲师",
"副教授",
"特任教授",
"教授",
"助理研究员",
"特任副研究员",
"副研究员",
"特任研究员",
"研究员"
};
public Teacher(String id) {
this.id = id;
}
public Teacher(String id, String name, int gender, int title) {
this.id = id;
this.name = name;
this.gender = gender;
this.title = title;
}
public String getId() { return id; }
public String getName() { return name; }
public int getGender() { return gender; }
public int getTitle() { return title; }
public void setName(String name) { this.name = name; }
public void setGender(int gender) { this.gender = gender; }
public void setTitle(int title) { this.title = title; }
public void insertTeacher() {
String sql = "INSERT INTO Teachers (id, name, gender, title) VALUES (?, ?, ?, ?)";
try (Connection conn = connectDatabase();
PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, id);
stmt.setString(2, name);
stmt.setInt(3, gender);
stmt.setInt(4, title);
stmt.executeUpdate();
} catch (SQLException e) {
throw new IllegalArgumentException("数据库错误: " + e.getMessage());
}
}
public void updateTeacher() {
String sql = "UPDATE Teachers SET name = ?, gender = ?, title = ? WHERE id = ?";
try (Connection conn = connectDatabase();
PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, name);
stmt.setInt(2, gender);
stmt.setInt(3, title);
stmt.setString(4, id);
stmt.executeUpdate();
} catch (SQLException e) {
throw new IllegalArgumentException("数据库错误: " + e.getMessage());
}
}
public void deleteTeacher() {
String sql = "DELETE FROM Teachers WHERE id = ?";
try (Connection conn = connectDatabase();
PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, id);
stmt.executeUpdate();
} catch (SQLException e) {
throw new IllegalArgumentException("数据库错误: " + e.getMessage());
}
}
public void getTeacher() {
String sql = "SELECT * FROM Teachers WHERE id = ?";
try (Connection conn = connectDatabase();
PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, id);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
name = rs.getString("name");
gender = rs.getInt("gender");
title = rs.getInt("title");
} else {
throw new IllegalArgumentException("找不到教师信息");
}
} catch (SQLException e) {
throw new IllegalArgumentException("数据库错误: " + e.getMessage());
}
}
@Override
public String toString() {
return toString(", ");
}
public String toString(String delimiter) {
return name + delimiter +
GENDERS[gender-1] + delimiter +
TITLES[title-1];
}
}