sql >> Database teknologi >  >> RDS >> Mysql

Hvad er forskellen mellem pakken com.mysql.jdbc.PreparedStatement; og java.sql.PreparedStatement?

Fordi begge klasser var til stede i din compiletime classpath, og din IDE prøvede at være hjælpsom.

Fordi prepareStatement() er specificeret for at returnere java.sql.PreparedStatement , ikke com.mysql.jdbc.PreparedStatement .

java.sql.PreparedStatement er en grænseflade og du bør bruge dette hele tiden. MySQL-en er en konkret implementering, og du bør ikke være stramt at koble din JDBC-kode til den MySQL-specifikke implementering. Ellers ville du skulle lave en masse ændringer i din kode, hvis du nogensinde vil skifte DB-serveren (og dermed også JDBC-driveren) til en anden leverandør som PostgreSQL. Hvis du bruger standard JDBC-grænseflader fra java.sql pakke hele tiden, alt hvad du behøver at ændre er kun JDBC URL'en og måske også brugernavnet og adgangskoden og nogle DB-specifikke SQL-sætninger.

Se også:




  1. Kan samtidige transaktioner forstyrre hinanden? php/mysql

  2. uploade flere filformater til en server ved hjælp af jsp og gemme stien i databasen

  3. Kan ikke gemme arabisk i MYSQL-database ved hjælp af PHP

  4. Sådan grupperes efter år i T-SQL