,用java 里面的jdbc语法编写两个方法,实现对数据库的新增和查询。 一个方法是新增班级信息,学生信息,成绩信息。(数据自己写一些测试数据即可。) 另外一个方法是查询出学生的分数信息列表并打印出来,至少需包含学生的班级名称,学生姓名,分数。 交付内容:用maven搭建一个简单java工程,以main方法运行的方法输出上面的内容,将整个java工程打包即可。
时间: 2023-11-27 18:52:35 浏览: 22
好的,下面是示例代码,实现了对数据库的新增和查询操作:
```java
import java.sql.*;
public class JDBCExample {
private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
private static final String DB_URL = "jdbc:mysql://localhost:3306/testdb";
private static final String USER = "root";
private static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// 注册 JDBC 驱动器
Class.forName(JDBC_DRIVER);
// 打开连接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 新增数据
System.out.println("插入数据...");
insertData(conn);
// 查询数据
System.out.println("查询数据...");
queryData(conn);
// 关闭资源
stmt.close();
conn.close();
} catch (SQLException se) {
// 处理 JDBC 错误
se.printStackTrace();
} catch (Exception e) {
// 处理 Class.forName 错误
e.printStackTrace();
} finally {
// 关闭资源
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException se2) {
} // 什么都不做
try {
if (conn != null) {
conn.close();
}
} catch (SQLException se) {
se.printStackTrace();
}
System.out.println("Goodbye!");
}
}
private static void insertData(Connection conn) throws SQLException {
// 创建语句对象
Statement stmt = conn.createStatement();
// 新增班级信息
String sql = "INSERT INTO class (name) VALUES ('Class 1')";
stmt.executeUpdate(sql);
sql = "INSERT INTO class (name) VALUES ('Class 2')";
stmt.executeUpdate(sql);
// 新增学生信息
sql = "INSERT INTO student (name, class_id) VALUES ('John', 1)";
stmt.executeUpdate(sql);
sql = "INSERT INTO student (name, class_id) VALUES ('Mary', 2)";
stmt.executeUpdate(sql);
// 新增成绩信息
sql = "INSERT INTO score (student_id, score) VALUES (1, 90)";
stmt.executeUpdate(sql);
sql = "INSERT INTO score (student_id, score) VALUES (2, 80)";
stmt.executeUpdate(sql);
// 关闭资源
stmt.close();
}
private static void queryData(Connection conn) throws SQLException {
// 创建语句对象
Statement stmt = conn.createStatement();
// 查询学生分数信息
String sql = "SELECT c.name AS class_name, s.name AS student_name, sc.score " +
"FROM class c, student s, score sc " +
"WHERE c.id = s.class_id AND s.id = sc.student_id";
ResultSet rs = stmt.executeQuery(sql);
// 打印结果
while (rs.next()) {
String className = rs.getString("class_name");
String studentName = rs.getString("student_name");
int score = rs.getInt("score");
System.out.println(className + " " + studentName + " " + score);
}
// 关闭资源
rs.close();
stmt.close();
}
}
```
其中,`insertData()` 方法用于新增数据,`queryData()` 方法用于查询数据并打印结果。在 `main()` 方法中,我们先连接数据库,然后执行这两个方法,最后关闭资源。
需要注意的是,这里我们使用了 MySQL 数据库,并且使用了 Maven 构建工具来管理项目依赖。我们需要在 pom.xml 中添加以下依赖:
```xml
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
</dependencies>
```
其中,mysql-connector-java 是 MySQL 数据库的 Java 驱动程序。`<version>` 标签中的版本号可以根据实际情况进行调整。