微信登录

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 对象创建 StatementPreparedStatement 对象。
  4. 执行 SQL 语句:使用 StatementPreparedStatement 对象执行 SQL 语句。
  5. 处理结果集:如果执行的是查询语句,需要处理返回的结果集。
  6. 关闭资源:依次关闭 ResultSetStatementConnection 对象,释放资源。

演示代码

以下是一个使用 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. 关闭资源:依次关闭 ResultSetStatementConnection 对象,释放资源。

四、总结

步骤 操作 代码示例
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 开发人员提供了强大而灵活的数据库访问能力。