iXtends Geschrieben 29. April 2009 Geschrieben 29. April 2009 Hallo, ich habe eine Frage bezüglich des Spring Frameworks. Ich lasse jegliche Datenbankzugriffe über Spring laufen. Jetzt habe ich folgendes Problem. Ich möchte einen neuen Datensatz zu einer Tabelle hinzufügen, die ID des Datensatzes wird von MySQL per Auto increment automatisch hinzugefügt. Ich benötige aber die ID um mit ihr weiter zu arbeiten. Hier mal der Ausschnitt aus der Methode die ich benutze: JdbcTemplate jdbcTemplate = new JdbcTemplate((DataSource) context.getBean("DataSource")); this.log.info(user.toString()); int rows = jdbcTemplate.update( "INSERT INTO user (nickname, password, firstname, name, zip, street, title) VALUES(?, ?, ?, ?, ?, ?, ?);", new Object[] { user.getName(), passwordEncrypter.encryptPassword(user.getPassword()), user.getFirstname(), user.getName(), user.getZip(), user.getStreet(), user.getTitle() }); Das "normale" java.sql.Statement hat eine Methode "getGeneratedKeys". Diese finde ich bei Spring aber nicht. Gibt es eine Möglichkeit an diese generierte ID zu kommen? Vielen Dank
Dragon8 Geschrieben 29. April 2009 Geschrieben 29. April 2009 Es gibt von MySQL aus die Möglichkeit an die zuletzt erzeugte ID zu kommen. Das funktioniert mit der Methode LAST_INSERT_ID()
DominikJ Geschrieben 29. April 2009 Geschrieben 29. April 2009 Da habe ich gelesen, das es zu Problemen kommt da die Verbindung dann schon gesclossen ist. Spring Community Forums - View Single Post - Get last inserted id sollte aber klappen?
iXtends Geschrieben 29. April 2009 Autor Geschrieben 29. April 2009 Ich werds mir mal anschauen. Aber schade, dass die Methode nicht einfach die ID zurückgibt^^
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden