定义一个数据库操作类 JdbcAccess,在该类中定义三个方 法: ; (1)getconnection():实现数据库的连接; (2)getstudent():根据指定的学号,查询该学生的信息 (3) addstudent():將一个学生的信息插入到数据库中。 3、定义一个主类,在主类中实现数据库连接、根据学生学号查询学生信息、插入学生信息等操作。
时间: 2024-02-25 11:54:41 浏览: 73
好的,下面是一个简单的 JdbcAccess 类的实现,包括连接数据库、查询学生信息和插入学生信息的三个方法:
```java
import java.sql.*;
public class JdbcAccess {
private Connection conn;
public JdbcAccess(String url, String user, String password) {
try {
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void close() {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public Student getStudent(String id) {
String sql = "SELECT * FROM Student WHERE stulD=?";
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, id);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
String name = rs.getString("name");
int score = rs.getInt("score");
return new Student(id, name, score);
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public void addStudent(Student student) {
String sql = "INSERT INTO Student(stulD, name, score) VALUES (?, ?, ?)";
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, student.getId());
ps.setString(2, student.getName());
ps.setInt(3, student.getScore());
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
在上面的实现中,我们使用了 JDBC API 来连接 MySQL 数据库,需要注意的是,在使用 JDBC 之前,需要先下载和安装 MySQL Connector/J 驱动程序,然后在代码中加载该驱动程序。在 JdbcAccess 类中,我们定义了一个 Connection 对象 conn,用于保存数据库连接。在构造函数中,我们使用 DriverManager 类的 getConnection 方法来连接数据库。在 close 方法中,我们关闭数据库连接。
在 getStudent 方法中,我们使用 PreparedStatement 对象来查询学生信息,其中的 SQL 语句中使用了一个占位符 ?,用于表示查询条件。在执行查询之前,我们需要调用 setString 方法来设置占位符的值。如果查询结果集中有数据,我们从中取出学生的姓名和成绩,并返回一个 Student 对象。如果查询结果集为空,我们返回 null。
在 addStudent 方法中,我们使用 PreparedStatement 对象来插入学生信息。其中的 SQL 语句中同样使用了占位符,我们需要先调用 setString 和 setInt 方法来设置占位符的值,然后调用 executeUpdate 方法来执行插入操作。
下面是一个简单的主类的实现,用于测试 JdbcAccess 类的各个方法:
```java
public class Main {
public static void main(String[] args) {
JdbcAccess access = new JdbcAccess("jdbc:mysql://localhost:3306/CGL", "root", "123456");
Student student = access.getStudent("101");
System.out.println(student);
access.addStudent(new Student("102", "xiaoming", 80));
access.close();
}
}
```
在上面的实现中,我们首先创建了一个 JdbcAccess 对象,然后调用该对象的 getStudent 方法,查询学号为 '101' 的学生信息,并将查询结果打印出来。接着,我们调用该对象的 addStudent 方法,插入一个学号为 '102',姓名为 'xiaoming',成绩为 80 的学生信息。最后,我们关闭了 JdbcAccess 对象。
阅读全文