Qual è la differenza tra l'API JDBC e il driver PostgreSQL?
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?
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.
Sia l' API JDBC che il driver PostgresSQL sono necessari per consentire a un'applicazione di connettersi a un database PostgreSQL.
La dipendenza PostgresSQL Driver include l'API JDBC.
Ho già cercato su Google, ma ci sono solo manuali su come usarli.
Risposte
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.