Wat is het verschil tussen het gebruik van PreparedStatement en CallableStatement bij het werken met databases?
sobes.tech AI
Antwoord van AI
Het belangrijkste verschil tussen PreparedStatement en CallableStatement in Java bij het werken met databases:
-
PreparedStatement wordt gebruikt voor het uitvoeren van vooraf gecompileerde SQL-query's (meestal SELECT, INSERT, UPDATE, DELETE). Het stelt je in staat om parameters veilig in te voegen, waardoor SQL-injecties worden voorkomen.
-
CallableStatement is bedoeld voor het aanroepen van opgeslagen procedures of functies die in de database zijn gedefinieerd. Het ondersteunt zowel invoer- als uitvoerparameters.
Voorbeeld van het gebruik van PreparedStatement:
String sql = "SELECT * FROM users WHERE id = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setInt(1, 10);
ResultSet rs = ps.executeQuery();
Voorbeeld van het gebruik van CallableStatement:
CallableStatement cs = connection.prepareCall("{call getUserById(?)}");
cs.setInt(1, 10);
ResultSet rs = cs.executeQuery();
Dus, PreparedStatement is voor gewone parametriseerde queries, en CallableStatement voor het aanroepen van databaseprocedures.