JDBC (Java Database Connectivity) 是 Java 提供的一組 API,用於連接和操作關聯型數據庫。JDBC 提供了一種標準化的方式,使 Java 應用程序可以與各種不同的數據庫系統進行交互。其主要功能和用途包括:
主要功能
建立連接:
JDBC 提供了建立 Java 應用程序與數據庫之間的連接的方法。這通常通過 DriverManager 類來實現,其中 getConnection 方法被用來創建與數據庫的連接。
執行 SQL 語句:
JDBC 支持執行 SQL 語句,包括查詢、插入、更新和刪除等操作。這通過 Statement、PreparedStatement 和 CallableStatement 類來實現。
處理結果集:
JDBC 提供了處理查詢結果的方法。ResultSet 類允許應用程序從數據庫查詢中檢索數據並進行處理。
交易管理:
JDBC 支持數據庫事務的管理,允許開啟、提交和回滾事務。這對於確保數據的一致性和完整性非常重要。Connection 類提供了控制事務的方法,如 setAutoCommit、commit 和 rollback。
錯誤處理:
JDBC 提供了處理數據庫錯誤和異常的方法。SQLException 類用來捕捉和處理數據庫操作中發生的錯誤。
批量更新:
JDBC 支持批量更新操作,允許一次執行多個更新語句,這在處理大量數據更新時可以提高性能。Statement 和 PreparedStatement 類提供了批量操作的方法,如 addBatch 和 executeBatch。
具體使用方式
以下是一個簡單的 JDBC 使用範例,演示如何連接數據庫、執行查詢並處理結果集:
java
複製程式碼
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCExample {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
// 1. 建立連接
connection = DriverManager.getConnection(jdbcUrl, username, password);
// 2. 創建語句
statement = connection.createStatement();
// 3. 執行查詢
String sql = "SELECT id, name, email FROM users";
resultSet = statement.executeQuery(sql);
// 4. 處理結果集
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);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 5. 清理資源
try {
if (resultSet != null) resultSet.close();
if (statement != null) statement.close();
if (connection != null) connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
總結
JDBC 是 Java 用於連接和操作關聯型數據庫的標準 API。它提供了建立連接、執行 SQL 語句、處理結果集、管理事務和處理錯誤等功能。通過 JDBC,Java 開發者可以編寫獨立於數據庫的應用程序,並利用不同數據庫系統的功能。