1利用面向对象的设计思想,创建学生类,学生信息包括:学号、姓名、出生日期。编写程序实现下 列功能: (把表1中的学生信息写入到文件中,要求每个学生信息的学号、姓名、出生日期(请合理定义其数据类型)之问用逗号隔开
时间: 2024-02-23 07:03:05 浏览: 145
使用面向对象的思想定义系统数据(会员和商品信息)、实现显示客户信息、添加客户和幸运大放送功能,并定义会员类,商品类进行数组存储
)2.使用JDBC连接数据库,创建学生信息表,表中包括字段:学号、姓名、出生日期,将文件中的学生信息导入到数据库的学生信息表中。
以下是Java代码实现:
首先是学生类的定义:
```java
public class Student {
private int id;
private String name;
private Date birthdate;
public Student(int id, String name, Date birthdate) {
this.id = id;
this.name = name;
this.birthdate = birthdate;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public Date getBirthdate() {
return birthdate;
}
}
```
接下来是将学生信息写入到文件中的方法:
```java
public static void writeStudentsToFile(List<Student> students, String filename) throws IOException {
FileWriter writer = new FileWriter(filename);
for (Student student : students) {
String line = student.getId() + "," + student.getName() + "," + student.getBirthdate().toString() + "\n";
writer.write(line);
}
writer.close();
}
```
然后是连接数据库,创建学生信息表的方法:
```java
public static void createStudentTable() throws SQLException {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "username", "password");
Statement stmt = conn.createStatement();
String sql = "CREATE TABLE student (id INT PRIMARY KEY, name VARCHAR(50), birthdate DATE)";
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}
```
最后是将文件中的学生信息导入到数据库的方法:
```java
public static void importStudentsFromCsv(String filename) throws SQLException, ParseException, IOException {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "username", "password");
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO student (id, name, birthdate) VALUES (?, ?, ?)");
BufferedReader reader = new BufferedReader(new FileReader(filename));
String line;
while ((line = reader.readLine()) != null) {
String[] fields = line.split(",");
int id = Integer.parseInt(fields[0]);
String name = fields[1];
Date birthdate = new SimpleDateFormat("yyyy-MM-dd").parse(fields[2]);
pstmt.setInt(1, id);
pstmt.setString(2, name);
pstmt.setDate(3, new java.sql.Date(birthdate.getTime()));
pstmt.executeUpdate();
}
reader.close();
pstmt.close();
conn.close();
}
```
注意:在使用JDBC连接数据库之前,需要先下载MySQL的JDBC驱动并将其导入到项目中。
阅读全文