sql >> Databáze >  >> RDS >> Mysql

Jaký je rozdíl mezi balíčkem com.mysql.jdbc.PreparedStatement; a java.sql.PreparedStatement?

Protože obě třídy byly přítomny ve vaší třídě při kompilaci a vaše IDE se snažilo být užitečné.

Protože prepareStatement() je specifikováno vrátíte java.sql.PreparedStatement , nikoli com.mysql.jdbc.PreparedStatement .

java.sql.PreparedStatement je rozhraní a měli byste to používat pořád. Ta MySQL je konkrétní implementace a neměli byste těsně propojovat svůj kód JDBC se specifickou implementací MySQL. V opačném případě byste museli provést mnoho změn ve svém kódu, pokud byste někdy chtěli přepnout DB server (a tím i ovladač JDBC) k jinému dodavateli, jako je PostgreSQL. Pokud používáte standardní rozhraní JDBC z java.sql balíček po celou dobu, vše, co byste potřebovali změnit, je pouze JDBC URL a možná také uživatelské jméno a heslo a některé DB-specifické SQL příkazy.

Viz také:




  1. Vyrovnávání zátěže PostgreSQL v cloudu je snadné

  2. Heroku Postgres:psql:FATAL:žádný záznam pg_hba.conf pro hostitele

  3. Připojte SQL Server k HubSpot CRM

  4. Existuje způsob, jak vidět připravený dotaz, jak bude spuštěn v databázi?