实验三Java数据库编程(设计型) 一、实验目的: (1) 了解用JDBC实现数据库的连接方式: (2) eclipse 如何添加jar包: (3)利用JDBC实现数据库基本内容的访问。 二、实验内容: 在这个实验中用户会通过两个练习了解如何利用JDBC连接和访问Mysql 中的指 定数据库。 1.查询student表中所有的数据,并在控制台显示出来,-.行显示--个学生的信息。 2.输入一个学号,如果该学号信息存在,则显示出该学号对应的学生的基本信息, 包括学号,姓名,性别,年龄等,以及该学生所选修的课程名称,成绩;若没有该学号 对应的信息存在,则输出简单的提示信息。
时间: 2024-01-22 10:20:06 浏览: 111
三、实验步骤:
1. 下载并安装MySQL数据库,创建一个名为“test”的数据库,创建一个名为“student”的表。
2. 在eclipse中新建一个Java项目,添加MySQL的驱动jar包到项目中。
3. 创建一个名为“JDBCExample”的类,编写代码实现连接到MySQL数据库、查询student表中的所有数据、按行显示学生信息的功能。
代码如下:
```java
import java.sql.*;
public class JDBCExample {
public static void main(String[] args) throws SQLException {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 加载MySQL的JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 连接到MySQL数据库
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
conn = DriverManager.getConnection(url, user, password);
// 执行查询语句
stmt = conn.createStatement();
String sql = "SELECT * FROM student";
rs = stmt.executeQuery(sql);
// 输出查询结果
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String gender = rs.getString("gender");
int age = rs.getInt("age");
System.out.println("id=" + id + ", name=" + name + ", gender=" + gender + ", age=" + age);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
}
```
4. 运行程序,控制台会输出student表中所有的数据。
5. 修改JDBCExample类的代码,实现输入一个学号,查询该学号对应的学生的基本信息以及所选修的课程名称、成绩的功能。
代码如下:
```java
import java.sql.*;
public class JDBCExample {
public static void main(String[] args) throws SQLException {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 加载MySQL的JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 连接到MySQL数据库
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
conn = DriverManager.getConnection(url, user, password);
// 读取用户输入的学号
java.util.Scanner scanner = new java.util.Scanner(System.in);
System.out.print("请输入学号:");
int id = scanner.nextInt();
// 查询学生信息和课程成绩
stmt = conn.createStatement();
String sql = "SELECT s.id, s.name, s.gender, s.age, c.name AS course_name, sc.score FROM student s LEFT JOIN score sc ON s.id = sc.student_id LEFT JOIN course c ON sc.course_id = c.id WHERE s.id = " + id;
rs = stmt.executeQuery(sql);
// 输出查询结果
if (rs.next()) {
String name = rs.getString("name");
String gender = rs.getString("gender");
int age = rs.getInt("age");
String courseName = rs.getString("course_name");
int score = rs.getInt("score");
System.out.println("id=" + id + ", name=" + name + ", gender=" + gender + ", age=" + age + ", course_name=" + courseName + ", score=" + score);
} else {
System.out.println("该学号对应的信息不存在!");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
}
```
6. 运行程序,根据提示输入学号,程序会输出该学号对应的学生的基本信息以及所选修的课程名称、成绩。如果该学号对应的信息不存在,则输出简单的提示信息。
四、实验总结:
通过本次实验,我了解了如何利用JDBC连接和访问MySQL中的指定数据库。在实验过程中,我学会了如何添加MySQL的驱动jar包到项目中,并且掌握了基本的JDBC编程技巧。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)