Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Escapando uma aspa simples ao usar JdbcTemplate


Use PreparedStatement . Dessa forma, você nomeia um espaço reservado e o driver JDBC fará isso corretamente enviando ao banco de dados a instrução, mais os 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());

Os pontos de interrogação acima representam os espaços reservados.

Como esses valores são passados ​​como parâmetros, você não tem problemas com a citação e protege contra SQL injeção também.