Oracle
 sql >> Base de données >  >> RDS >> Oracle

Échapper à un guillemet simple lors de l'utilisation de JdbcTemplate

Utilisez PreparedStatement . De cette façon, vous nommez un espace réservé et le pilote JDBC s'en chargera correctement en envoyant à la base de données l'instruction, ainsi que les paramètres en tant qu'arguments.

    String updateStatement =
    "update " + dbName + ".COFFEES " +
    "set TOTAL = TOTAL + ? " +
    "where COF_NAME = ?";

    PreparedStatement updateTotal = con.prepareStatement(updateStatement);
    updateTotal.setInt(1, e.getValue().intValue());
    updateTotal.setString(2, e.getKey());

Les points d'interrogation ci-dessus représentent les espaces réservés.

Étant donné que ces valeurs sont transmises en tant que paramètres, vous n'avez pas de problèmes avec les guillemets et cela vous protège contre SQL injection aussi.