Qual è la differenza tra l'API JDBC e il driver PostgreSQL?

Sep 01 2020

Sto creando un nuovo progetto Spring Boot (https://start.spring.io/), e non capisco le diverse dipendenze previste per l'interfacciamento con i database relazionali.

Il punto di confusione è "JDBC API" e "PostgresSQL Driver". La mia app deve connettersi a un database PostgreSQL. Quindi, quale delle seguenti affermazioni è vera?

  1. L'API JDBC può essere utilizzata per connettersi e operare con qualsiasi database relazionale (SQL) (MySQL, PostgreSQL, ecc.) E il driver PostgresSQL non è necessario per il funzionamento dell'API JDBC.

  2. Sia l' API JDBC che il driver PostgresSQL sono necessari per consentire a un'applicazione di connettersi a un database PostgreSQL.

  3. La dipendenza PostgresSQL Driver include l'API JDBC.

Ho già cercato su Google, ma ci sono solo manuali su come usarli.

Risposte

3 Mureinik Sep 01 2020 at 04:44

JDBC definisce un'API per connettersi e lavorare con i database relazionali. Il driver PostgreSQL è un'implementazione di questa API per il database PostgreSQL.

Non è possibile utilizzare l'API JDBC senza un driver sottostante per implementarla. Potresti, tuttavia, utilizzare il driver direttamente, ma i driver di solito hanno pochissime garanzie sulla stabilità delle loro API (oltre a quanto promesso da JDBC, ovviamente), quindi probabilmente sarebbe una cattiva idea.