Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Unikanie pojedynczego cudzysłowu podczas korzystania z JdbcTemplate

Użyj PreparedStatement . W ten sposób wyznaczasz symbol zastępczy, a sterownik JDBC wykona to poprawnie, wysyłając do bazy danych instrukcję wraz z parametrami jako argumentami.

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

Znaki zapytania powyżej reprezentują symbole zastępcze.

Ponieważ wartości te są przekazywane jako parametry, nie masz problemów z cytowaniem i chroni Cię przed SQL wtrysk też.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać FULL OUTER JOIN w Oracle za pomocą operatora „+”?

  2. ORA-01401:wstawiona wartość jest za duża dla kolumny CHAR

  3. mutowanie, wyzwalacz/funkcja może go nie widzieć - błąd podczas wykonywania wyzwalacza

  4. gdzie rownum=1 zapytanie zajmuje czas w Oracle

  5. Potrzebujesz pomocy w przechowywaniu wartości z trzech kolumn