JDBC là gì? không cần học JDBC đâu

0
56
Rate this post

jdbc architecture

JDBC (Java Database Connectivity) là một API đã trở thành công cụ quan trọng cho việc kết nối và thực thi các câu lệnh SQL trên cơ sở dữ liệu trong các ứng dụng Java. Dù hiện nay các ORM (Object Relational Mapping) như Hibernate đang được sử dụng phổ biến, nhưng thực tế là Hibernate cũng đang sử dụng JDBC để nền tảng kết nối và thực thi SQL. Vậy, hãy hoàn lại những kiến thức cơ bản về JDBC.

JDBC là gì?

JDBC là viết tắt của Java Database Connectivity, là một API dùng để kết nối và thực thi các câu lệnh SQL trên cơ sở dữ liệu. JDBC API hỗ trợ 4 loại JDBC driver, bao gồm:

  • JDBC-ODBC Bridge Driver
  • Native Driver
  • Network Protocol Driver
  • Thin Driver

Kiến trúc của JDBC

Kiến trúc của JDBC được chia thành 2 tầng:

  1. JDBC API: Cho phép ứng dụng kết nối đến JDBC Manager connection.
  2. JDBC Driver API: Hỗ trợ JDBC Manager kết nối đến Driver connection.

JDBC API cung cấp một cơ chế kết nối đồng nhất với các loại cơ sở dữ liệu khác nhau.

jdbc architecture

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

  • DriverManager: Đây là một class chịu trách nhiệm quản lý danh sách các database driver và tạo kết nối tới database chỉ định.
  • Driver: Interface chịu trách nhiệm xử lý giao tiếp giữa ứng dụng và cơ sở dữ liệu.
  • Connection: Interface cung cấp các phương thức cho việc thao tác với cơ sở dữ liệu.
  • Statement: Được sử dụng để thực thi các câu lệnh SQL trên cơ sở dữ liệu.
  • ResultSet: Lưu trữ kết quả trả về từ cơ sở dữ liệu.
  • SQLException: Được sử dụng để xử lý các lỗi phát sinh trong quá trình làm việc với cơ sở dữ liệu.

Các loại JDBC Driver

JDBC-ODBC bridge driver

JDBC-ODBC bridge driver sử dụng ODBC driver để kết nối đến cơ sở dữ liệu. JDBC-ODBC bridge sẽ mapping từ JDBC sang các phương thức tương ứng trong ODBC.

jdbc-odbc

Tuy nhiên, từ Java 8 trở đi, JDBC-ODBC Bridge đã bị loại bỏ. Oracle khuyên chúng ta nên sử dụng các driver được cung cấp bởi các nhà phát hành cơ sở dữ liệu mà chúng ta đang sử dụng.

Native-API driver

Native API driver mapping từ JDBC sang API native của cơ sở dữ liệu.

native-driver

Network Protocol driver

Network Protocol driver sử dụng middleware để mapping từ JDBC sang giao thức của nhà phát hành cơ sở dữ liệu.

network-protocol-driver

Thin Driver

Thin Driver mapping từ JDBC trực tiếp sang giao thức của nhà phát hành cơ sở dữ liệu.

thin-driver

Driver này mang lại hiệu năng tốt nhất, vì nó không cần phải trải qua bất kỳ bước mapping nào và làm việc trực tiếp với giao thức của cơ sở dữ liệu.

Kết luận

JDBC là chìa khóa quan trọng để kết nối và thao tác với cơ sở dữ liệu trong các ứng dụng Java. Dù có sự xuất hiện của các ORM như Hibernate, việc hiểu và sử dụng JDBC đầu tiên là rất quan trọng. Bài viết này cung cấp khái quát về JDBC, nếu bạn có bất kỳ thắc mắc hay góp ý gì, hãy để lại bình luận để chúng tôi biết.

Dnulib