sql >> Base de Datos >  >> RDS >> Oracle

Escapar de una comilla simple cuando se usa JdbcTemplate

Use PreparedStatement . De esa forma, designa un marcador de posición y el controlador JDBC lo realizará correctamente al enviar la declaración a la base de datos, más los parámetros como argumentos.

    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());

Los signos de interrogación en lo anterior representan los marcadores de posición.

Debido a que estos valores se pasan como parámetros, no tiene problemas con las comillas y lo protege contra SQL inyección también.