Veröffentlicht 29. April 200916 j 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
29. April 200916 j Es gibt von MySQL aus die Möglichkeit an die zuletzt erzeugte ID zu kommen. Das funktioniert mit der Methode LAST_INSERT_ID()
29. April 200916 j 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?
29. April 200916 j Ich werds mir mal anschauen. Aber schade, dass die Methode nicht einfach die ID zurückgibt^^
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.