什么是JDBC?

JDBC(Java Database Connectivity)是一个由 Java 提供的 API,它提供了一种统一的方法来访问多种关系型数据库。JDBC 提供了一系列接口和类,使得开发人员可以在 Java 程序中查询和操作数据库。

JDBC 主要提供了以下功能:

  • 建立数据库连接:使用 DriverManager 类的 getConnection 方法可以建立到数据库的连接。

  • 执行 SQL 语句:JDBC 提供了 StatementPreparedStatementCallableStatement 三种接口来执行 SQL 语句。Statement 用于执行静态 SQL 语句,PreparedStatement 用于执行预编译的 SQL 语句,CallableStatement 用于调用存储过程。

  • 处理查询结果:使用 ResultSet 接口处理 SQL 查询结果。ResultSet 对象包含了通过执行 SQL 语句获取的数据。

  • 处理数据库元数据DatabaseMetaDataResultSetMetaData 接口提供了获取数据库元数据的方法。

  • 处理事务:可以通过 Connection 接口的 setAutoCommitcommitrollback 方法来处理数据库事务。

以下是一个基本的 JDBC 使用示例:

import java.sql.*;

public class JdbcExample {
    public static void main(String[] args) {
        try {
            // 加载驱动
            Class.forName("com.mysql.jdbc.Driver");

            // 建立连接
            Connection conn = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/test", "username", "password");

            // 创建 Statement
            Statement stmt = conn.createStatement();

            // 执行查询
            ResultSet rs = stmt.executeQuery("SELECT * FROM users");

            // 处理查询结果
            while (rs.next()) {
                System.out.println(rs.getString("username"));
            }

            // 关闭连接
            rs.close();
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在这个例子中,我们首先加载了 MySQL 的 JDBC 驱动,然后建立了到数据库的连接,创建了一个 Statement 对象,执行了一个 SQL 查询,然后遍历查询结果并打印了每一行的 username 字段,最后关闭了所有的资源。

需要注意的是,数据库的连接、Statement 和 ResultSet 都是有状态的资源,使用完毕后必须被关闭,否则可能会造成资源泄露。在实际的开发中,我们通常会在 finally 块中关闭这些资源,以确保它们总是被正确关闭。

发表评论

后才能评论