Sự khác biệt giữa JDBC API và PostgreSQL Driver là gì?

Sep 01 2020

Tôi đang tạo một dự án Spring Boot mới (https://start.spring.io/), và tôi không hiểu các phụ thuộc khác nhau được cung cấp để giao tiếp với cơ sở dữ liệu quan hệ.

Điểm gây nhầm lẫn là "JDBC API" và "PostgresSQL Driver". Ứng dụng của tôi cần kết nối với cơ sở dữ liệu PostgreSQL. Vì vậy, điều nào sau đây là đúng?

  1. JDBC API có thể được sử dụng để kết nối và hoạt động với bất kỳ cơ sở dữ liệu quan hệ (SQL) nào (MySQL, PostgreSQL, v.v.) và Trình điều khiển PostgresSQL không cần thiết để JDBC API hoạt động.

  2. Cả JDBC API và PostgresSQL Driver đều cần thiết để ứng dụng kết nối với cơ sở dữ liệu PostgreSQL.

  3. Trình điều khiển PostgresSQL phụ thuộc bao gồm API JDBC.

Tôi đã tìm hiểu về điều này, nhưng chỉ có hướng dẫn sử dụng chúng.

Trả lời

3 Mureinik Sep 01 2020 at 04:44

JDBC định nghĩa một API để kết nối và làm việc với cơ sở dữ liệu quan hệ. Trình điều khiển PostgreSQL là một triển khai của API này cho cơ sở dữ liệu PostgreSQL.

Bạn không thể sử dụng JDBC API mà không có trình điều khiển cơ bản để triển khai nó. Tuy nhiên, bạn có thể sử dụng trình điều khiển trực tiếp, nhưng các trình điều khiển thường có rất ít đảm bảo về tính ổn định của các API của họ (tất nhiên là ngoài những gì được JDBC hứa hẹn), vì vậy có lẽ sẽ là một ý tưởng tồi.