本文目录导读:
《JavaWeb 数据库访问技术实验报告》
姓名:[你的姓名]
学号:[你的学号]
专业:[你的专业]
班级:[你的班级]
指导教师:[指导教师姓名]
实验日期:[实验日期]
实验目的
1、掌握 Java 语言中访问数据库的基本方法和步骤。
2、熟悉 JDBC(Java Database Connectivity)的 API 接口和使用方式。
3、学会使用数据库管理系统(如 MySQL)创建数据库、表和执行 SQL 语句。
4、能够使用 Java 程序连接数据库并进行数据的增删改查操作。
实验环境
1、操作系统:Windows 10
2、数据库管理系统:MySQL 8.0
3、Java 开发工具:IntelliJ IDEA 2021.3.1
4、JDBC 驱动程序:MySQL Connector/J 8.0.28
1、安装和配置 MySQL 数据库服务器,并创建一个名为“test”的数据库。
2、在“test”数据库中创建一个名为“students”的表,包含“id”、“name”、“age”和“gender”四个字段。
3、使用 JDBC 连接 MySQL 数据库,并执行 SQL 语句进行数据的插入、更新、删除和查询操作。
4、编写 Java 程序实现学生信息管理系统,包括添加学生、修改学生信息、删除学生和查询学生信息等功能。
实验步骤
1、安装和配置 MySQL 数据库服务器
- 下载 MySQL 安装文件,并按照安装向导进行安装。
- 安装完成后,启动 MySQL 服务,并设置 root 用户的密码。
- 使用 MySQL 命令行客户端登录数据库,创建一个名为“test”的数据库。
2、创建“students”表
- 使用 MySQL 命令行客户端登录“test”数据库。
- 执行以下 SQL 语句创建“students”表:
CREATE TABLE students ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT NOT NULL, gender ENUM('男', '女') NOT NULL );
3、导入 JDBC 驱动程序
- 将 MySQL Connector/J 8.0.28 驱动程序下载到本地,并将其解压到 Java 项目的“lib”目录下。
- 在 IntelliJ IDEA 中,右键点击项目名称,选择“Open Module Settings”,在“Modules”选项卡中,点击“Dependencies”,然后点击“+”号,选择“JARs or directories”,将“lib”目录下的 MySQL Connector/J 驱动程序添加到项目的依赖中。
4、使用 JDBC 连接 MySQL 数据库
- 创建一个 Java 类,名为“JDBCConnection”,用于连接 MySQL 数据库。
- 在“JDBCConnection”类中,编写以下代码实现连接数据库:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class JDBCConnection { public static Connection getConnection() throws SQLException { // 数据库 URL String url = "jdbc:mysql://localhost:3306/test"; // 数据库用户名 String username = "root"; // 数据库密码 String password = "root"; // 加载 MySQL 驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); // 获取数据库连接 Connection connection = DriverManager.getConnection(url, username, password); return connection; } }
5、执行 SQL 语句进行数据的插入、更新、删除和查询操作
- 创建一个 Java 类,名为“JDBCExample”,用于执行 SQL 语句进行数据的插入、更新、删除和查询操作。
- 在“JDBCExample”类中,编写以下代码实现数据的插入、更新、删除和查询操作:
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class JDBCExample { // 插入学生信息 public static void insertStudent(String name, int age, String gender) throws SQLException { // 获取数据库连接 Connection connection = JDBCConnection.getConnection(); // 定义 SQL 插入语句 String sql = "INSERT INTO students (name, age, gender) VALUES (?,?,?)"; // 创建 PreparedStatement 对象 PreparedStatement preparedStatement = connection.prepareStatement(sql); // 设置参数 preparedStatement.setString(1, name); preparedStatement.setInt(2, age); preparedStatement.setString(3, gender); // 执行插入操作 int rowsAffected = preparedStatement.executeUpdate(); if (rowsAffected > 0) { System.out.println("插入学生信息成功!"); } else { System.out.println("插入学生信息失败!"); } // 关闭资源 preparedStatement.close(); connection.close(); } // 更新学生信息 public static void updateStudent(int id, String name, int age, String gender) throws SQLException { // 获取数据库连接 Connection connection = JDBCConnection.getConnection(); // 定义 SQL 更新语句 String sql = "UPDATE students SET name =?, age =?, gender =? WHERE id =?"; // 创建 PreparedStatement 对象 PreparedStatement preparedStatement = connection.prepareStatement(sql); // 设置参数 preparedStatement.setString(1, name); preparedStatement.setInt(2, age); preparedStatement.setString(3, gender); preparedStatement.setInt(4, id); // 执行更新操作 int rowsAffected = preparedStatement.executeUpdate(); if (rowsAffected > 0) { System.out.println("更新学生信息成功!"); } else { System.out.println("更新学生信息失败!"); } // 关闭资源 preparedStatement.close(); connection.close(); } // 删除学生信息 public static void deleteStudent(int id) throws SQLException { // 获取数据库连接 Connection connection = JDBCConnection.getConnection(); // 定义 SQL 删除语句 String sql = "DELETE FROM students WHERE id =?"; // 创建 PreparedStatement 对象 PreparedStatement preparedStatement = connection.prepareStatement(sql); // 设置参数 preparedStatement.setInt(1, id); // 执行删除操作 int rowsAffected = preparedStatement.executeUpdate(); if (rowsAffected > 0) { System.out.println("删除学生信息成功!"); } else { System.out.println("删除学生信息失败!"); } // 关闭资源 preparedStatement.close(); connection.close(); } // 查询学生信息 public static void queryStudent(int id) throws SQLException { // 获取数据库连接 Connection connection = JDBCConnection.getConnection(); // 定义 SQL 查询语句 String sql = "SELECT * FROM students WHERE id =?"; // 创建 PreparedStatement 对象 PreparedStatement preparedStatement = connection.prepareStatement(sql); // 设置参数 preparedStatement.setInt(1, id); // 执行查询操作 ResultSet resultSet = preparedStatement.executeQuery(); if (resultSet.next()) { int studentId = resultSet.getInt("id"); String name = resultSet.getString("name"); int age = resultSet.getInt("age"); String gender = resultSet.getString("gender"); System.out.println("学生 ID:" + studentId); System.out.println("学生姓名:" + name); System.out.println("学生年龄:" + age); System.out.println("学生性别:" + gender); } else { System.out.println("未找到该学生信息!"); } // 关闭资源 resultSet.close(); preparedStatement.close(); connection.close(); } public static void main(String[] args) throws SQLException { // 插入学生信息 insertStudent("张三", 20, "男"); // 更新学生信息 updateStudent(1, "李四", 21, "女"); // 删除学生信息 deleteStudent(2); // 查询学生信息 queryStudent(1); } }
6、编写 Java 程序实现学生信息管理系统
- 创建一个 Java 类,名为“StudentManagementSystem”,用于实现学生信息管理系统。
- 在“StudentManagementSystem”类中,编写以下代码实现添加学生、修改学生信息、删除学生和查询学生信息等功能:
import java.util.Scanner; public class StudentManagementSystem { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("欢迎使用学生信息管理系统!"); while (true) { System.out.println("请选择操作:"); System.out.println("1. 添加学生"); System.out.println("2. 修改学生信息"); System.out.println("3. 删除学生"); System.out.println("4. 查询学生信息"); System.out.println("5. 退出系统"); int choice = scanner.nextInt(); switch (choice) { case 1: System.out.println("请输入学生姓名:"); String name = scanner.next(); System.out.println("请输入学生年龄:"); int age = scanner.nextInt(); System.out.println("请输入学生性别:"); String gender = scanner.next(); try { JDBCExample.insertStudent(name, age, gender); } catch (SQLException e) { e.printStackTrace(); } break; case 2: System.out.println("请输入学生 ID:"); int id = scanner.nextInt(); System.out.println("请输入学生姓名:"); name = scanner.next(); System.out.println("请输入学生年龄:"); age = scanner.nextInt(); System.out.println("请输入学生性别:"); gender = scanner.next(); try { JDBCExample.updateStudent(id, name, age, gender); } catch (SQLException e) { e.printStackTrace(); } break; case 3: System.out.println("请输入学生 ID:"); id = scanner.nextInt(); try { JDBCExample.deleteStudent(id); } catch (SQLException e) { e.printStackTrace(); } break; case 4: System.out.println("请输入学生 ID:"); id = scanner.nextInt(); try { JDBCExample.queryStudent(id); } catch (SQLException e) { e.printStackTrace(); } break; case 5: System.out.println("感谢使用学生信息管理系统,再见!"); scanner.close(); System.exit(0); default: System.out.println("无效的选择,请重新输入!"); } } } }
实验结果
1、成功连接到 MySQL 数据库,并创建了“test”数据库和“students”表。
2、成功执行了 SQL 语句进行数据的插入、更新、删除和查询操作。
3、成功实现了学生信息管理系统,包括添加学生、修改学生信息、删除学生和查询学生信息等功能。
通过本次实验,我掌握了 Java 语言中访问数据库的基本方法和步骤,熟悉了 JDBC 的 API 接口和使用方式,学会了使用数据库管理系统创建数据库、表和执行 SQL 语句,并且能够使用 Java 程序连接数据库并进行数据的增删改查操作,我也通过编写 Java 程序实现了学生信息管理系统,提高了自己的编程能力和问题解决能力。
在实验过程中,我遇到了一些问题,如数据库连接失败、SQL 语句执行失败等,通过查阅相关资料和调试代码,我最终解决了这些问题,通过这次实验,我深刻体会到了在编程过程中遇到问题时,要保持耐心和细心,不断尝试和探索,才能找到解决问题的方法。
我也意识到了自己在 Java 编程方面还有很多不足之处,需要进一步学习和提高,我将继续努力学习 Java 编程知识,不断提高自己的编程能力和综合素质。
仅供参考,你可以根据实际情况进行调整。
评论列表