微信登录

JDBC 基础 - JDBC 简介 - 数据库连接标准

Java - Web - Spring 《JDBC 基础 - JDBC 简介 - 数据库连接标准》

一、引言

在 Java Web 开发中,与数据库进行交互是非常常见的需求。例如,一个电商网站需要从数据库中获取商品信息展示给用户,或者将用户的订单信息存储到数据库中。而 JDBC(Java Database Connectivity)就是 Java 提供的一套用于与各种数据库进行交互的标准 API,它就像是一座桥梁,连接着 Java 程序和数据库。

二、JDBC 简介

JDBC 是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它由一组用 Java 语言编写的类和接口组成,使得 Java 开发人员可以使用统一的方式来访问不同的数据库,如 MySQL、Oracle、SQL Server 等。

JDBC 的优点

  • 跨数据库平台:Java 程序可以通过 JDBC 访问不同类型的数据库,只需更换相应的数据库驱动即可。
  • 简单易用:提供了简单的 API,开发人员可以方便地进行数据库操作。
  • 高性能:通过优化的驱动程序,JDBC 可以实现高效的数据库访问。

三、JDBC 数据库连接标准步骤

要使用 JDBC 连接数据库并进行操作,一般需要以下几个步骤:

  1. 加载数据库驱动:通过 Class.forName() 方法加载数据库驱动类。
  2. 建立数据库连接:使用 DriverManager.getConnection() 方法获取数据库连接对象。
  3. 创建执行 SQL 语句的对象:使用 Connection 对象创建 Statement 或 PreparedStatement 对象。
  4. 执行 SQL 语句:使用 Statement 或 PreparedStatement 对象执行 SQL 语句。
  5. 处理结果集:如果执行的是查询语句,需要处理返回的结果集。
  6. 关闭资源:依次关闭 ResultSet、Statement 和 Connection 对象,释放资源。

演示代码

以下是一个使用 JDBC 连接 MySQL 数据库并查询数据的示例代码:

  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.ResultSet;
  4. import java.sql.Statement;
  5. public class JdbcExample {
  6. public static void main(String[] args) {
  7. // 数据库连接信息
  8. String url = "jdbc:mysql://localhost:3306/testdb";
  9. String username = "root";
  10. String password = "password";
  11. try {
  12. // 1. 加载数据库驱动
  13. Class.forName("com.mysql.cj.jdbc.Driver");
  14. // 2. 建立数据库连接
  15. Connection connection = DriverManager.getConnection(url, username, password);
  16. // 3. 创建执行 SQL 语句的对象
  17. Statement statement = connection.createStatement();
  18. // 4. 执行 SQL 语句
  19. String sql = "SELECT * FROM users";
  20. ResultSet resultSet = statement.executeQuery(sql);
  21. // 5. 处理结果集
  22. while (resultSet.next()) {
  23. int id = resultSet.getInt("id");
  24. String name = resultSet.getString("name");
  25. String email = resultSet.getString("email");
  26. System.out.println("ID: " + id + ", Name: " + name + ", Email: " + email);
  27. }
  28. // 6. 关闭资源
  29. resultSet.close();
  30. statement.close();
  31. connection.close();
  32. } catch (Exception e) {
  33. e.printStackTrace();
  34. }
  35. }
  36. }

代码解释

  1. 加载数据库驱动:Class.forName("com.mysql.cj.jdbc.Driver") 加载 MySQL 数据库驱动类。
  2. 建立数据库连接:DriverManager.getConnection(url, username, password) 根据数据库连接信息获取 Connection 对象。
  3. 创建执行 SQL 语句的对象:connection.createStatement() 创建 Statement 对象,用于执行 SQL 语句。
  4. 执行 SQL 语句:statement.executeQuery(sql) 执行查询语句,并返回 ResultSet 对象。
  5. 处理结果集:使用 resultSet.next() 遍历结果集,使用 resultSet.getInt() 和 resultSet.getString() 方法获取相应列的值。
  6. 关闭资源:依次关闭 ResultSet、Statement 和 Connection 对象,释放资源。

四、总结

步骤 操作 代码示例
1 加载数据库驱动 Class.forName("com.mysql.cj.jdbc.Driver");
2 建立数据库连接 Connection connection = DriverManager.getConnection(url, username, password);
3 创建执行 SQL 语句的对象 Statement statement = connection.createStatement();
4 执行 SQL 语句 ResultSet resultSet = statement.executeQuery(sql);
5 处理结果集 while (resultSet.next()) {... }
6 关闭资源 resultSet.close(); statement.close(); connection.close();

通过以上步骤和示例代码,你可以使用 JDBC 连接数据库并进行基本的查询操作。在实际开发中,还可以使用 PreparedStatement 来防止 SQL 注入,使用 CallableStatement 来调用存储过程等。JDBC 为 Java 开发人员提供了强大而灵活的数据库访问能力。