JDBC: Khung kết nối cơ sở dữ liệu trong Java

15:39 26/03/2025

Trong lĩnh vực phát triển phần mềm, cơ sở dữ liệu đóng vai trò là “xương sống” để lưu trữ, quản lý và truy xuất lượng lớn dữ liệu có cấu trúc. Java, là một ngôn ngữ lập trình linh hoạt và mạnh mẽ, cung cấp cho các nhà phát triển khung kết nối cơ sở dữ liệu Java (JDBC) như một cầu nối giữa các ứng dụng Java và cơ sở dữ liệu quan hệ. Hãy cùng khám phá sự phức tạp của JDBC, các tính năng chính, các tình huống sử dụng và các biện pháp thực hành tốt nhất để tận dụng kết nối cơ sở dữ liệu trong các ứng dụng Java.

Tìm hiểu về JDBC: Những điều cơ bản

Kết nối cơ sở dữ liệu Java (JDBC) là một API (Giao diện lập trình ứng dụng) cho phép các ứng dụng Java tương tác với cơ sở dữ liệu quan hệ bằng các truy vấn SQL (Ngôn ngữ truy vấn có cấu trúc) chuẩn. JDBC hoạt động như một trung gian, cung cấp một tập hợp các lớp và giao diện để thiết lập kết nối cơ sở dữ liệu, thực thi các câu lệnh SQL và xử lý kết quả truy vấn trong các ứng dụng Java.

Các thành phần chính của JDBC

  • Trình quản lý trình điều khiển: Lớp DriverManager trong JDBC quản lý việc đăng ký trình điều khiển cơ sở dữ liệu và tạo điều kiện thuận lợi cho việc tạo kết nối cơ sở dữ liệu.

  • Kết nối: Giao diện Kết nối biểu thị kết nối đến một cơ sở dữ liệu cụ thể và cung cấp các phương thức để thực thi các câu lệnh SQL, quản lý giao dịch và truy cập siêu dữ liệu.

  • Câu lệnh: JDBC cung cấp hai loại câu lệnh: Câu lệnh (để thực thi các câu lệnh SQL đơn giản) và PreparedStatement (để thực thi các câu lệnh SQL có tham số), cho phép các nhà phát triển tương tác hiệu quả với cơ sở dữ liệu.

  • ResultSet: Giao diện ResultSet biểu thị kết quả của truy vấn cơ sở dữ liệu và cung cấp các phương thức để duyệt, truy xuất và thao tác kết quả truy vấn.

Các loại trình điều khiển JDBC

Trình điều khiển đóng vai trò là cầu nối giữa ứng dụng Java và cơ sở dữ liệu có bốn loại như sau:

  • Trình điều khiển cầu nối JDBC-ODBC: Trình điều khiển này kết nối với cơ sở dữ liệu thông qua trình điều khiển ODBC. Đây là loại trình điều khiển JDBC cơ bản nhất và thường được sử dụng để thử nghiệm và tạo nguyên mẫu.
  • Trình điều khiển Java một phần/API gốc: Trình điều khiển này sử dụng thư viện được viết bằng cùng ngôn ngữ với cơ sở dữ liệu để chuyển đổi các lệnh gọi JDBC thành các lệnh gọi dành riêng cho cơ sở dữ liệu. Trình điều khiển này hoạt động tốt hơn trình điều khiển cầu nối JDBC-ODBC nhưng bị giới hạn ở một cơ sở dữ liệu duy nhất.
  • Trình điều khiển giao thức mạng (Trình điều khiển phần mềm trung gian): Trình điều khiển này giao tiếp với cơ sở dữ liệu bằng giao thức mạng độc lập với cơ sở dữ liệu, sau đó được chuyển đổi thành các lệnh gọi dành riêng cho cơ sở dữ liệu. Trình điều khiển này có lợi thế là có thể truy cập nhiều cơ sở dữ liệu, nhưng cần cài đặt thành phần phần mềm trung gian.
  • Trình điều khiển Java thuần túy: Trình điều khiển này được viết hoàn toàn bằng Java và kết nối trực tiếp với cơ sở dữ liệu thông qua giao diện dành riêng cho cơ sở dữ liệu. Trình điều khiển này có hiệu suất tốt nhất và được khuyến nghị sử dụng trong sản xuất.

Các bước cơ bản khi sử dụng JDBC

  • Tải trình điều khiển cơ sở dữ liệu: Đăng ký và tải trình điều khiển cơ sở dữ liệu phù hợp bằng lớp DriverManager.

Ví dụ: Class.forName(“com.mysql.cj.jdbc.Driver”);

  • Thiết lập kết nối: Tạo kết nối đến cơ sở dữ liệu bằng phương thức DriverManager.getConnection(), cung cấp URL cơ sở dữ liệu, tài khoản và mật khẩu đăng nhập vào hệ thống cơ sở dữ liệu.

Ví dụ:

String url = “jdbc:mysql://localhost:1433/databaseName”;
Connection connection = DriverManager.getConnection(
url,
“account”,
password”
);

  • Tạo và thực thi các câu lệnh: Tạo các đối tượng Statement hoặc PreparedStatement để thực thi các truy vấn SQL đối với cơ sở dữ liệu.

Ví dụ:

Statement stm = connection.createStatement();
ResultSet resultSet = stm.executeQuery(“SELECT * FROM db_table_name”);

  • Xử lý kết quả truy vấn: Lặp qua ResultSet để lấy và xử lý kết quả truy vấn.

Ví dụ:

while(resultSet.next()) {
    String username = resultSet.getString(“tableColumnName”);
    // Xử lý dữ liệu
}

  • Đóng tài nguyên: Đóng các đối tượng ResultSet, Statement và Connection để giải phóng tài nguyên cơ sở dữ liệu và đảm bảo dọn dẹp đúng cách.

Ví dụ:

resultSet.close();
stm.close();
connection.close();

Giảng viên Trần Tuấn Anh
Bộ môn Ứng dụng phần mềm
FPT Polytechnic Hà Nội 

Hỗ trợ tư vấn và giải đáp thông tin tuyển sinh FPT Polytechnic

Cùng chuyên mục

Đăng ký nhập học tại FPT Polytechnic 2026

  • Max. file size: 50 MB.
  • Max. file size: 50 MB.
  • Max. file size: 50 MB.