Sobes.tech
Junior

Wat is het verschil tussen de methoden execute, executeQuery en executeUpdate?

sobes.tech AI

Antwoord van AI

  • executeQuery(): Wordt gebruikt om SQL-operatoren uit te voeren die een enkele resultset retourneren (bijvoorbeeld SELECT-operatoren). Geeft een ResultSet-object terug.
  • executeUpdate(): Wordt gebruikt om SQL-operatoren uit te voeren die de database wijzigen en het aantal bijgewerkte rijen retourneren (bijvoorbeeld INSERT, UPDATE, DELETE, CREATE TABLE, DROP TABLE). Geeft een int terug.
  • execute(): Een meer universele methode. Kan elk type SQL-operator uitvoeren. Geeft een boolean terug dat aangeeft of een ResultSet is geretourneerd. Als true, is het resultaat een ResultSet. Als false, is het resultaat het aantal bijgewerkte rijen. Om het daadwerkelijke resultaat te krijgen, moet getResultSet() of getUpdateCount() worden gebruikt.
Methode Doel Teruggegeven waarde Voorbeeld van gebruik
executeQuery Uitvoeren van SELECT ResultSet Gegevens ophalen uit een tabel.
executeUpdate Uitvoeren van INSERT, UPDATE, DELETE, DDL int (aantal gewijzigde rijen) Rijen toevoegen, wijzigen of verwijderen; tabellen maken of verwijderen.
execute Elke SQL-operator boolean (true als een ResultSet is geretourneerd) Wanneer het type operator niet van tevoren bekend is of de operator gegevens en telling kan retourneren.

Voorbeeld van gebruik van execute():

// Er wordt aangenomen dat de statement al is gemaakt
boolean isResultSet = statement.execute("SELECT * FROM users WHERE id = 1 OR INSERT INTO logs (message) VALUES ('User fetched')");

if (isResultSet) {
    // ResultSet verwerken
    try (ResultSet rs = statement.getResultSet()) {
        while (rs.next()) {
            // Gegevens lezen
        }
    }
} else {
    // Aantal bijgewerkte rijen verwerken
    int updateCount = statement.getUpdateCount();
    // updateCount verwerken
}