# ID Wert von Insert über jdbcTemplate.update



## Stefan Dreis (25. Mai 2012)

Aus Spring 3 Dokumentation :rtfm:


```
this.jdbcTemplate.update(
"insert into t_actor (first_name, last_name) values (?, ?)",
"Leonor", "Watling");
```

ist erkennbar wie man eine Datenzeile einfügen kann. 

Aus Spring 3 Referenz hierzu :rtfm:

```
Description copied from interface: JdbcOperations
    Issue a single SQL update operation (such as an insert, update or delete statement) via a prepared statement, binding the given arguments.

    Specified by:
        update in interface JdbcOperations

    Parameters:
        sql - SQL containing bind parameters
        args - arguments to bind to the query (leaving it to the PreparedStatement to guess the corresponding SQL type); may also contain SqlParameterValue objects which indicate not only the argument value but also the SQL type and optionally the scale 
    Returns:
        the number of rows affected
```

wird angegebene das der Rückgabewert die betroffenen Zeilen zurückgibt.

Allerdings ist mir bis jetzt verschlossen geblieben, wie ich nach ausführung obiger Anweisung ermitteln kann welchen Wert die eingefügte ID hat. Wie kann ich diesen Wert ermitteln?


----------



## mvitz (25. Mai 2012)

Indem du die folgende Methode nimmst: JdbcTemplate (Spring Framework API 2.5)


----------



## Stefan Dreis (25. Mai 2012)

Danke aber ich glaube du hast mich falsch verstanden. JdbcTemplte ist mir bekannt, wie bereits erwähnt, aber wie erfahre ich nach JdbcTemplate.update("Insert....") heraus wie der Wert des eingefügten autoincremented Primary Keys ist?


----------



## mvitz (26. Mai 2012)

Habe dich schon verstanden, dafür gibt es auf jeden Fall die Methode (auf die mein Link zeigte) mit der Signatur:

```
public int update(PreparedStatementCreator psc,
                  KeyHolder generatedKeyHolder)
           throws DataAccessException
```

Siehe auch Reference Documentation


----------

