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.