sql >> Database >  >> RDS >> Oracle

Ontsnappen aan een enkel aanhalingsteken bij gebruik van JdbcTemplate

Gebruik PreparedStatement . Op die manier nomineer je een tijdelijke aanduiding en de JDBC-driver zal dit correct uitvoeren door de database de instructie te sturen, plus de parameters als argumenten.

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

De vraagtekens in het bovenstaande vertegenwoordigen de tijdelijke aanduidingen.

Omdat deze waarden als parameters worden doorgegeven, heb je geen problemen met citeren en het beschermt je tegen SQL injectie ook.



  1. MySQL-naamgevingsconventies, moet de veldnaam de tabelnaam bevatten?

  2. Wat is de lengte van een PHP-sessie-ID-tekenreeks?

  3. Hoe een array opnieuw op te bouwen zonder herhalingen en andere limieten?

  4. Kolomsortering converteren naar standaard tabel/database