
在 Java Web 开发中,与数据库进行交互是非常常见的需求。例如,一个电商网站需要从数据库中获取商品信息展示给用户,或者将用户的订单信息存储到数据库中。而 JDBC(Java Database Connectivity)就是 Java 提供的一套用于与各种数据库进行交互的标准 API,它就像是一座桥梁,连接着 Java 程序和数据库。
JDBC 是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它由一组用 Java 语言编写的类和接口组成,使得 Java 开发人员可以使用统一的方式来访问不同的数据库,如 MySQL、Oracle、SQL Server 等。
要使用 JDBC 连接数据库并进行操作,一般需要以下几个步骤:
Class.forName() 方法加载数据库驱动类。DriverManager.getConnection() 方法获取数据库连接对象。Connection 对象创建 Statement 或 PreparedStatement 对象。Statement 或 PreparedStatement 对象执行 SQL 语句。ResultSet、Statement 和 Connection 对象,释放资源。以下是一个使用 JDBC 连接 MySQL 数据库并查询数据的示例代码:
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class JdbcExample {public static void main(String[] args) {// 数据库连接信息String url = "jdbc:mysql://localhost:3306/testdb";String username = "root";String password = "password";try {// 1. 加载数据库驱动Class.forName("com.mysql.cj.jdbc.Driver");// 2. 建立数据库连接Connection connection = DriverManager.getConnection(url, username, password);// 3. 创建执行 SQL 语句的对象Statement statement = connection.createStatement();// 4. 执行 SQL 语句String sql = "SELECT * FROM users";ResultSet resultSet = statement.executeQuery(sql);// 5. 处理结果集while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");String email = resultSet.getString("email");System.out.println("ID: " + id + ", Name: " + name + ", Email: " + email);}// 6. 关闭资源resultSet.close();statement.close();connection.close();} catch (Exception e) {e.printStackTrace();}}}
Class.forName("com.mysql.cj.jdbc.Driver") 加载 MySQL 数据库驱动类。DriverManager.getConnection(url, username, password) 根据数据库连接信息获取 Connection 对象。connection.createStatement() 创建 Statement 对象,用于执行 SQL 语句。statement.executeQuery(sql) 执行查询语句,并返回 ResultSet 对象。resultSet.next() 遍历结果集,使用 resultSet.getInt() 和 resultSet.getString() 方法获取相应列的值。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 开发人员提供了强大而灵活的数据库访问能力。