sql >> Database >  >> RDS >> Mysql

Wat is het verschil tussen pakket com.mysql.jdbc.PreparedStatement; en java.sql.PreparedStatement?

Omdat beide klassen aanwezig waren in je compiletime classpath en je IDE probeerde behulpzaam te zijn.

Omdat prepareStatement() is gespecificeerd om java.sql.PreparedStatement te retourneren , niet com.mysql.jdbc.PreparedStatement .

De java.sql.PreparedStatement is een interface en je zou dit de hele tijd moeten gebruiken. De MySQL-versie is een concrete implementatie en u moet uw JDBC-code niet strak koppelen aan de MySQL-specifieke implementatie. Anders zou je veel wijzigingen in je code moeten aanbrengen als je ooit de DB-server (en dus ook de JDBC-driver) naar een andere leverancier zoals PostgreSQL wilt overschakelen. Als u de standaard JDBC-interfaces van java.sql . gebruikt pakket, hoeft u alleen de JDBC-URL te wijzigen en misschien ook de gebruikersnaam en het wachtwoord en enkele DB-specifieke SQL-instructies.

Zie ook:




  1. Syntaxisfout op MERGE-instructie

  2. Hoe WordPress te installeren:de serversoftware

  3. django mysql forceert gebruik van index

  4. SUM() gebruiken zonder de resultaten te groeperen