sql >> Databasteknik >  >> RDS >> Oracle

Hur man får värden för bindningsparametrar från Oracle JDBC PreparedStatement-objekt

De flesta loggningsramverk har begreppet Inbäddad diagnostisk kontext . Du kan spara din fråga och dess parametrar där när du fyller i det förberedda uttalandet.

Eller, kanske, gör det i ett steg:

PreparedStatement fillAndLog(Connection conn, String query, Object... args) {
    int i = 0;
    PreparedStatement pstmt = conn.prepareStatement(query);
    for (Object o : args) {
       if (o instanceof String) {
           pstmt.setString(i, (String)o);
       } // else...
       i++;
    }
    log.debug(String.format(query.replaceAll("\\?", "%s"), args));
    return pstmt;
}


  1. hur sammanfogar man strängar?

  2. MySQL heltals osignerade aritmetiska problem?

  3. Oracle Event Count Query

  4. Inkluderar DB-funktionsanrop i python MySQLdb executemany()